【问题标题】:Avoid Panel resizing on TextField Validator error - Vaadin避免在 TextField Validator 错误上调整面板大小 - Vaadin
【发布时间】:2015-01-15 15:58:16
【问题描述】:

我创建了一个简单的登录表单,其中包含一些带有验证器的必填字段。

我的字段表单布局是这样的:

    _________________________
    |  My SO Panel          |
     -----------------------
    |   _______    _______  |
    |  |_______|  |_______| |
    |   _______    _______  |
    |  |_______|  |_______| |
    |_______________________|

如果用户在表单左侧的某个字段中设置了无效值,则红色 !出现在该字段的右侧,因此所有其他字段都向右移动。

在我的面板中,我添加了一个 Horizo​​ntalLayout,其中包含两个 verticalLayout(一个用于左侧,一个用于右侧)。这个水平布局有间距,两个垂直布局也有。

当我的验证器显示他的时,我该如何避免移动正确的字段! ?

【问题讨论】:

  • 你显示字段的标题吗?通常是红色的!附加到该文本....
  • 不,我没有,我注意到每个字段都需要 setInputPrompt("Content")

标签: jakarta-ee vaadin


【解决方案1】:

假设您实际上想要同时拥有requiredcomponentError,您将不得不给它们一些喘息的空间。一种方法可能是只为水平布局设置一个宽度,该宽度大于文本字段和标记的两倍。使用 50/50 分割,这只会为水平布局的第二个“单元格”保留一些空间,并且大小的变化无关紧要。

如果您使用 100% 布局,这可能不是那么容易。在这种情况下,您可以为标题(显示两个标记的容器)提供固定宽度。

例如你为你的容器提供一些类(fixed-width-caption)然后添加

 .fixed-width-caption .v-caption { width: 40px }

这为所有字幕提供了 40 像素的固定宽度,至少在我的示例中,使用标准 Valo 设置,这足以使两个标记都保持稳定。

【讨论】:

  • 工作就像一个魅力,我只是在左侧添加了一个边距以使确认按钮居中。
猜你喜欢
  • 1970-01-01
  • 2018-04-30
  • 1970-01-01
  • 2013-08-05
  • 2013-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-18
相关资源
最近更新 更多