Vaadin 8 中的可滚动布局

Scrollable layout in Vaadin 8

有时我让它工作,其他时候则不是那么多,而且我似乎无法弄清楚起作用的因素。

这是我正在使用的代码,它有时会工作,有时会压缩项目以适应垂直 space,而不添加滚动条。

    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 中从弹性模式切换到块模式?

Is there a snippet of a scrollable VerticalLayout implementation?

在 Vaadin 8 中,有一个 Panel 组件,它基本上是一个可滚动的 VerticalLayout。你试过了吗? https://vaadin.com/docs/v8/framework/layout/layout-panel.html

如果面板无法以某种方式满足您的需要并且您想实现您自己的可滚动布局版本,那么您将不得不嵌套 2 个布局。外部将有一个固定高度,即 100%,而内部可以扩展到它需要的任何大小。然后将外部溢出设置为隐藏。我为 Vaadin Flow 制作了一个 ScrollableVerticalLayout 组件,虽然你不能直接使用它,因为它不兼容 Vaadin 8,但你可以在我的 github 中看到我是如何做到的,并在你的项目中复制它