如图,我有两个textfield 放在一个水平布局中,歪了
给你的hbox 加上 alignItems="BASELINE"
我是动态生成的,好像没啥用
HorizontalLayout horizontalLayout = uiComponents.create(HorizontalLayout.class);
horizontalLayout.setAlignItems(FlexComponent.Alignment.BASELINE);
<formLayout id="conditionBox" labelsPosition="TOP" >
</formLayout>
我试了是可以的:
<layout>
<formLayout id="conditionBox" labelsPosition="TOP">
</formLayout>
</layout>
@ViewComponent
private FormLayout conditionBox;
@Autowired
private UiComponents uiComponents;
@Subscribe
public void onBeforeShow(final BeforeShowEvent event) {
var hbox = uiComponents.create(HorizontalLayout.class);
hbox.setAlignItems(FlexComponent.Alignment.BASELINE);
var tf1 = uiComponents.create(TextField.class);
var tf2 = uiComponents.create(TextField.class);
tf1.setLabel("你好");
var sp = uiComponents.create(Span.class);
sp.setText("~");
hbox.add(tf1,sp,tf2);
conditionBox.add(hbox);
}
加载的结果:
好的,感谢,