Vaadin 8中ListSelect无单选模式如何处理?有什么替代方案?
问题1:Vaadin 8的ListSelect是否默认始终为多选模式?
这个说法不属实。Vaadin 8只是调整了选择模式的配置API,并没有限制ListSelect只能用多选模式。
Vaadin 8对所有支持选择功能的组件的选择模式API做了统一重构,废弃了原各组件单独的
setMultiSelect方法,改为统一使用setSelectionMode()方法配置选择逻辑,ListSelect的默认配置确实为多选模式,但可以手动修改为其他模式。
问题2:如何将ListSelect设置为单选模式?
直接调用setSelectionMode()方法传入对应的枚举值即可,支持的选择模式有3种:
SelectionMode.SINGLE:单选模式,对应Vaadin 6中setMultiSelect(false)的效果SelectionMode.MULTI:多选模式,对应Vaadin 6中setMultiSelect(true)的效果SelectionMode.NONE:禁止选择模式,用户无法选中任何选项
代码示例
import com.vaadin.ui.ListSelect; import com.vaadin.shared.ui.grid.SelectionMode; // 实例化ListSelect组件 ListSelect<String> myList = new ListSelect<>("选项列表"); // 配置为单选模式 myList.setSelectionMode(SelectionMode.SINGLE); // 运行时动态切换为多选模式的写法 // myList.setSelectionMode(SelectionMode.MULTI);
如果你需要在运行时动态切换单选/多选模式,直接调用上述方法修改配置即可,无需重新实例化组件。
内容的提问来源于stack exchange,提问作者Tony
相关产品推荐
相关产品推荐

