2016-04-24 1 views
1

С Formlayout все ваши подписи находятся слева от поля. Это нормально, если у вас есть только формы с одним столбцом полей, но как только у вас будут более сложные формы, такие как имя и фамилия в той же строке, которую вы хотите разместить рядом, вы не можете использовать FormLayout, по крайней мере, если вы хотите, чтобы подписи для полей были согласованными, либо влево, либо над полями. Да, вы можете обернуть их в HorizontalLayout и установить InputPrompt в FormLayout, но это не всегда работает для более сложных форм, потому что иногда вам по-прежнему нужна подпись. С VerticalLayout по крайней мере все ваши подписи будут согласованы.Зачем использовать FormLayout вместо VerticalLayout в Vaadin?

Все, что сказать, в чем преимущество использования FormLayout по сравнению с VerticalLayout? Я хочу, чтобы все подписи были согласованными, как сверху, так и слева, и если я использую что-либо, кроме одного столбца полей, чем мне не повезло. Я считаю, что проверка также может быть выполнена за пределами FormLayout, поэтому я не уверен, что это ограничение ограничено FormLayout.

Если я только что использовал VerticalLayout, тогда я получу все надписи над полем, и это будет согласовано для всех полей, даже если мне нужно сделать какие-либо расширенные макеты и объединить много разных типов макетов, таких как First Name и Фамилия в той же строке или строка адреса, где я хочу, чтобы поля города и почтового индекса были разных размеров и т. Д.

Должно быть преимущество FormLayout по сравнению с VerticalLayout, но я не вижу его. .

+0

а что, если нет? что, если это просто удобство для других usescases? – cfrick

+0

Это может быть очень хорошо, и если это так, тогда это ответ :) –

ответ

4

В этом действительно мало. FormLayout был использован устарел сейчас com.vaadin.ui.Form. Мы можем предположить, что класс, вероятно, был создан для предоставления настроек по умолчанию для com.vaadin.ui.Form.

Различие указано в JavaDoc также:

  • надпись находится на левую
  • проверки
  • показана между заголовком и компонентой
  • разницей в интервале по умолчанию и отступы настройка

Вы также можете взглянуть на код на стороне сервера обоих классов. Он выглядит очень похожим, и поэтому логическая сторона обоих макетов точно такая же.

Источник: the JavaDoc и мой собственный опыт.

+0

Так что самое большое различие, по крайней мере, если вы попытаетесь объединить его с разными макетами в форме для более сложных случаев использования, то это заголовок влево, что означает, что подпись не находится последовательно. В противном случае другие различия довольно незначительны (хорошо исключение, что валидация хороша). –

+0

Да, вы правы – kukis

+0

Благодарим за подтверждение, это оценили. –