2

由于 Vaadin Flow,ListBox 是为 ListSelect 实现的。但是现在我遇到了一个问题,因为我无法设置宽度。

private final ListBox<Absence> lbRequests=new ListBox<>();
lbRequests.setWidth("100%");//setWidth isn't exist
4

1 回答 1

1

那是因为该setWidth()方法是从HasSize而不是从派生的ComponentListBox不执行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 分支中修复了,在下一个版本中将不再存在。

于 2018-12-18T10:44:27.480 回答