Vaadin 8 - 有没有办法将 CheckBoxGroup 分成两行?

Vaadin 8 - Is there a way to split a CheckBoxGroup into 2 rows?

我有一个显示 8 个项目的 CheckBoxGroup。默认显示是垂直的,这在我的布局中看起来不太好。

但是如果我使用

将演示文稿设置为水平
checkBoxGroup.addStyleName(ValoTheme.OPTIONGROUP_HORIZONTAL);

那么8个项目不够space。所以我被迫使用垂直样式,但我对此并不满意。

有没有办法水平显示单个 CheckBoxGroup,但使用 2(或更多)行?

编辑:
我找到了一个快速解决问题的方法,方法是将复选框设置为向左浮动(水平显示组)。它现在在第一行显示 6 个复选框,在第二行显示 2 个。它仍然不漂亮,但比其他 2 个选项要好。我仍然期待收到更好的解决方案! (如果有none,那就这样吧,但至少我知道这是不可能的)

这应该适用于弹性框,因为 CheckBoxOptions 在 div 中是跨度的。所以我们需要为 checkBoxGroup 添加 flex css 规则。

首先添加样式名

checkBoxGroup.addStyleName("my-flex-checkboxgroup")

然后在你的主题中

.my-flex-checkboxgroup {
  display: flex;
  flex-wrap: wrap;
  width: XXXpx
  height: auto;
}

您需要设置宽度 XXX 以适应四列

例如如果你有

CheckBoxGroup checkBoxGroup = new CheckBoxGroup();
checkBoxGroup.setItems("Option 1","Option 2","Option 3","Option 4","Option 5","Option 6","Option 7","Option 8");

您大约需要 500 像素左右,但如果字幕更长,则更自然。

这至少对我有用。