2016-04-24 46 views
1

随着Formlayout所有标题都在该字段的左侧。如果您只有一列字段的表单,这很好,但只要您有更复杂的表单,例如要放在同一行上的名字和姓氏,您就不能使用FormLayout如果您希望字段的字幕保持一致,那么最少不要这样做。是的,你可以将它们包装在一个HorizontalLayout中,并在FormLayout中设置一个InputPrompt,但对于更复杂的表单不一定适用,因为有时候你仍然需要标题。使用VerticalLayout至少您的所有字幕都将保持一致。为什么要在Vaadin中使用FormLayout而不是VerticalLayout?

这一切说什么使用FormLayout优于VerticalLayout的优势?我希望所有的标题都是一致的,不管是顶部还是左侧,如果我使用的只是一列字段,而不是我运气不好。我相信验证也可以在FormLayout以外完成,所以我不确定这是否只限于FormLayout

如果我只是使用VerticalLayout,那么我会得到字段上方的所有字幕,并且这对所有字段都是一致的,即使我必须执行任何高级布局并结合许多不同类型的布局,例如Firstname和在同一行上的姓氏,或者我希望城市和邮政编码字段的大小不同的地址行等。

VerticalLayout必须有一个优势,FormLayout,但我看不到它。

+0

以及如果没有?如果这只是其他用途的便利,该怎么办? – cfrick

+0

这很可能,如果是这种情况,那么这就是答案:) –

回答

4

真的没有太大的意义。 FormLayout曾用于现在不推荐使用com.vaadin.ui.Form。我们可以推测,该课程可能是为com.vaadin.ui.Form提供默认设置。

的差异的JavaDoc中陈述过:

  • 字幕是左侧
  • 验证字幕 和部件之间示于
  • 在默认间距和差边距设置

你也可以看看两个类的服务器端代码。它看起来非常相似,因此两种布局的逻辑侧都完全相同。

来源:the JavaDoc和我自己的经验。

+0

所以真的是最大的区别,至少如果您尝试将它与不同的布局组合在一个更复杂的用例的表单中,那么标题是这意味着标题不一致。否则,其他差异是相当小的(良好的例外是验证是好的)。 –

+0

是的,你是对的 – kukis

+0

谢谢你的确认,很感激。 –

相关问题