由于 Vaadin Flow,ListBox 是为 ListSelect 实现的。但是现在我遇到了一个问题,因为我无法设置宽度。
private final ListBox<Absence> lbRequests=new ListBox<>();
lbRequests.setWidth("100%");//setWidth isn't exist
由于 Vaadin Flow,ListBox 是为 ListSelect 实现的。但是现在我遇到了一个问题,因为我无法设置宽度。
private final ListBox<Absence> lbRequests=new ListBox<>();
lbRequests.setWidth("100%");//setWidth isn't exist
那是因为该setWidth()
方法是从HasSize
而不是从派生的Component
。ListBox
不执行HasSize
。
为了能够设置 a 的宽度和高度ListBox
,您可以创建自己的 Class ,然后使用它来代替ListBox
:
public class SizedListBox<T> extends ListBox<T> implements HasSize {
public SizedListBox(){
super();
}
}
SizedListBox<Absence> lbRequests = new SizedListBox<>();
lbRequests.setWidth("100%"); // exists and works, I tested it
正如@JensJansson 所提到的:如果您只想为 ListBox 的一个实例修复此问题,那么您也可以执行与 HasSize 相同的操作,因此不希望使用新类。
listbox.getElement().getStyle().set("width", "155px");
编辑: 这个问题现在已经在 master 分支中修复了,在下一个版本中将不再存在。