仅限 GXT 3.x。
假设我希望创建布局的 gxt 字段对
label: value
例如,
Name: Carthyguessue
其中“Carthyguessue”是用户不可更新的常量字段,我使用 gwt:Label 来实现它。
因此 ui 模板:
<form:FieldLabel ui:field="nameLabel" text="Name" labelWordWrap="false">
<form:widget>
<g:Label ui:field="nameValue" />
</form:widget>
</form:FieldLabel>
但是,每个完成此操作的人都意识到,nameLabel 和 nameValue 的垂直偏移之间会有约 3px 的偏差。
一种建议的方法是 hijack the gwt-Label css定义偏移量。但是,如果我不能这样做,因为 CSS 完全由另一个部门完成,该怎么办?
因此,我发现这很有效。
<form:FieldLabel text="Name" labelWordWrap="false">
<form:widget>
<container:VerticalLayoutContainer>
<g:Label height="3px"/>
<g:Label ui:field="nameValue" />
</container:VerticalLayoutContainer>
</form:widget>
</form:FieldLabel>
我的问题:
- 采用这种方法我会面临哪些问题? (我还没有意识到)。
- 有更好的非 CSS 解决方案吗?
- 好吧,不太重要的是,为什么 gxt 人们不提供匹配的 Label 小部件(没有由禁用的灰色文本字段模拟的恼人边界),因为我们仍然必须使用 gwt:Label 来实现此目的?
最佳答案
1) 更好的方法是创建自定义 CSS 类并将名称指定为 <g:Label ui:field="nameValue" />
所以将来很容易改变。
2)不,没有其他好的解决方案。因为这是一个 CSS 问题,所以你必须通过 CSS 来解决它。您应该为此创建自己的小部件。
GWT 中的标签小部件只是呈现为 DIV,而不是 HTML 的标签元素,导致它以 block 布局显示。
关于java - 对齐GXT表格:FieldLabel with its gwt:Label widget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16407195/