有时候我可以使用它,而有时候却没有那么多,而且我似乎无法弄清楚其中的影响因素。
这是我正在使用的代码,有时可以工作,而有时将其压缩为适合垂直空间而无需添加滚动条。
final VerticalLayout layout = new VerticalLayout();
setContent(layout);
layout.setHeight("100%");
VerticalLayout thisshouldnotscroll=new VerticalLayout(); thisshouldnotscroll.setHeight("100%");
thisshouldnotscroll.addComponent(new Label("This should not scroll"));
VerticalLayout thisshouldscroll=new VerticalLayout();
thisshouldscroll.setHeight("100%");
for (int i=0;i<200;i++){thisshouldscroll.addCompoenent(new Label("Item in list"));}
layout.addComponents(thisshouldnotscroll,thisshouldscroll);
您如何在Vaadin8中从弹性模式切换到块模式?
答案 0 :(得分:1)
是否存在可滚动的VerticalLayout实现的代码段?
在Vaadin 8中,有一个Panel组件,该组件基本上是可滚动的VerticalLayout。你试过了吗? https://vaadin.com/docs/v8/framework/layout/layout-panel.html
如果面板因某种原因无法正常工作,并且您想要实现自己的可滚动布局版本,则必须嵌套2个布局。外部将具有固定高度,即100%,而内部可扩展至所需的任何大小。然后将外部的溢出设置为隐藏。我为Vaadin Flow制作了ScrollableVerticalLayout组件,尽管您不能直接使用它,因为它与Vaadin 8不兼容,但是您可以在github中看到我是如何做到的,并将其复制到您的项目中