为什么我的 Vaadin 10 组件没有显示?

Why is my Vaadin 10 Component not displayed?

我正在尝试在我的页面上显示一个 Vaadin 组件,一个带有 Vaadin 10 的网格。

它在 DOM 但在页面上不可见。

我的class是:

@Route("")
@Log
public class ProfileList extends VerticalLayout {     
    public ProfileList(PersonRepository repo) {
        Grid<Profile> grid = new Grid<>();
        grid.addColumn(Person::getName).setHeader("Name");         
        grid.setItems(profilerepo.findAll());
        add(grid);    
    }   
}

问题是 VerticalLayout 没有增加其大小以适应网格。

因为grid在VerticalLayout可见区域的下方,所以被隐藏了。

一个简单的解决方法是使用:

setSizeFull();

告诉 VerticalLayout 跨越页面。