自Vaadin Flow以来,ListBox是为ListSelect实现的。但是现在我有一个问题,因为我无法设置宽度。
private final ListBox<Absence> lbRequests=new ListBox<>();
lbRequests.setWidth("100%");//setWidth isn't exist
答案 0 :(得分:1)
这是因为setWidth()
方法是从HasSize
而不是Component
派生的。 ListBox
未实现HasSize
。
要设置ListBox
的宽度和高度,您可以创建自己的类,然后代替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分支中修复,并且在下一版本中将不再存在。