多選

多選元件要求使用者從列表中選擇多個專案。以下列表顯示了一個示例

@ShellComponent
public class ComponentCommands extends AbstractShellComponent {

	@ShellMethod(key = "component multi", value = "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);
		component.setResourceLoader(getResourceLoader());
		component.setTemplateExecutor(getTemplateExecutor());
		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;
	}
}

以下截圖演示了一個典型的多選元件

上下文物件是 MultiItemSelectorContext。下表描述了其上下文變數

表 1. MultiItemSelectorContext 模板變數
描述

元件存在時返回的值。

可見專案,其中行包含名稱、已選、行內和已啟用專案的對映。

model

父上下文變數(參見SelectorComponentContext 模板變數)。

© . This site is unofficial and not affiliated with VMware.