多选
多选组件要求用户从列表中选择多个项目。 以下示例展示了其用法:
public class ComponentCommands {
@Command(name = "component multi", description = "Multi selector", group = "Components")
public String multiSelector() {
List<SelectorItem<String>> items = new ArrayList<>();
items.add(SelectorItem.of("key1", "value1"));
items.add(SelectorItem.of("key2", "value2", false, true));
items.add(SelectorItem.of("key3", "value3"));
MultiItemSelector<String, SelectorItem<String>> component = new MultiItemSelector<>(getTerminal(),
items, "testSimple", null);
ResourceLoader resourceLoader = null; // getResourceLoader();
TemplateExecutor templateExecutor = null; // getTemplateExecutor();
component.setResourceLoader(resourceLoader);
component.setTemplateExecutor(templateExecutor);
MultiItemSelectorContext<String, SelectorItem<String>> context = component
.run(MultiItemSelectorContext.empty());
String result = context.getResultItems()
.stream()
.map(si -> si.getItem())
.collect(Collectors.joining(","));
return "Got value " + result;
}
}
以下截图展示了典型的多选组件:
The context object是MultiItemSelectorContext。以下表格描述了其上下文变量:
| 键 | 描述 |
|---|---|
|
The values returned when the component exists. |
|
<p>可见的项目,其中行包含名称、选定、on-row 和启用项目的映射。</p> |
|
父级上下文变量(请参阅选择器组件上下文模板变量). |