Multi Select
多项选择组件要求用户从列表中选择多项。以下列表展示了一个示例:
Unresolved include directive in modules/ROOT/pages/components/ui/multiselect.adoc - include::../../../../../src/test/java/org/springframework/shell/docs/UiComponentSnippets.java[]
以下屏幕截图展示了一个典型的多项选择组件:
{"version": 2, "width": 85, "height": 9, "timestamp": 1645645867, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}} [1.746447, "o", "java -jar spring-shell-sample-commands.jar"] [2.881033, "o", "\r\n"] [4.603396, "o", "\u001b[?1h\u001b=\u001b[?2004h\u001b[33mmy-shell:>\u001b[0m"] [5.105471, "o", "\u001b[31mc\u001b[0m"] [5.202878, "o", "\u001b[31mo\u001b[0m"] [5.428705, "o", "\u001b[31mm\u001b[0m"] [5.630033, "o", "\u001b[31mp\u001b[0m"] [5.692044, "o", "\u001b[31mo\u001b[0m"] [5.86652, "o", "\u001b[31mn\u001b[0m"] [6.018765, "o", "\u001b[31me\u001b[0m"] [6.089776, "o", "\u001b[31mn\u001b[0m"] [6.251781, "o", "\u001b[31mt\u001b[0m"] [7.126694, "o", "\u001b[31m \u001b[0m"] [7.319912, "o", "\u001b[31mm\u001b[0m"] [7.550772, "o", "\u001b[31mu\u001b[0m"] [7.80087, "o", "\u001b[12D\u001b[1mcomponent multi\u001b[0m \u001b[K"] [8.291497, "o", "\r\r\n\u001b[?1l\u001b>\u001b[?1000l\u001b[?2004l"] [8.338879, "o", "\u001b[?1h\u001b=\u001b[?25l"] [8.398742, "o", "\u001b[32;1m?\u001b[0m \u001b[97;1mtestSimple\u001b[0m [Use arrows to move], type to filter\u001b[54C \u001b[96;1m>\u001b[0m\u001b[96;1m \u001b[39m[ ]\u001b[0m key1\u001b[93C \u001b[2m[ ]\u001b[0m \u001b[2mkey2\u001b[0m\u001b[93C \u001b[1m[ ]\u001b[0m key3\u001b[3A\r"] [12.265649, "o", "\u001b[35Cfiltering 'k'\u001b[K\r"] [12.507991, "o", "\u001b[47C\u001b[1@e\r"] [12.945812, "o", "\u001b[48C\u001b[1@y\r"] [13.35949, "o", "\u001b[49C\u001b[1@1\r\r\n\u001b[103C \u001b[K\r\r\r\n\u001b[K\r\r\n\u001b[K\u001b[3A"] [14.187299, "o", "\u001b[49C\u001b[P\r\r\n\u001b[103C \u001b[2m[ ]\u001b[0m \u001b[2mkey2\u001b[0m\u001b[93C \u001b[1m[ ]\u001b[0m key3\u001b[3A\r"] [14.356992, "o", "\u001b[48C\u001b[P\r"] [14.495579, "o", "\u001b[47C\u001b[P\r"] [14.642467, "o", "\u001b[35Ctype to filter\u001b[K\r"] [15.763904, "o", "\r\r\n\u001b[2C\u001b[32m[x]\u001b[0m\u001b[A\r"] [16.496138, "o", "\r\r\n \r\r\n\u001b[96;1m> \u001b[0m\u001b[2A\r"] [16.678991, "o", "\r\r\n\r\n \r\r\n\u001b[96;1m> \u001b[0m\u001b[3A\r"] [17.979077, "o", "\r\r\n\r\n\r\n\u001b[2C\u001b[32m[x]\u001b[0m\u001b[3A\r"] [18.809587, "o", "\r\r\n\r\n\r\n\u001b[2C\u001b[1m[ ]\u001b[0m\u001b[3A\r"] [20.452942, "o", "\r\r\n\r\n\u001b[96;1m> \u001b[0m\r\r\n \u001b[3A\r"] [21.705426, "o", "\r\r\n\r\n \r\r\n\u001b[96;1m> \u001b[0m\u001b[3A\r"] [22.207898, "o", "\r\r\n\r\n\r\n\u001b[2C\u001b[32m[x]\u001b[0m\u001b[3A\r"] [23.30633, "o", "\r\r\n\r\n\r\n\u001b[2C\u001b[1m[ ]\u001b[0m\u001b[3A\r"] [24.642701, "o", "\u001b[?1l\u001b>\u001b[?12;25h\u001b[K\r\r\n\u001b[K\r\r\n\u001b[K\r\r\n\u001b[K\u001b[3A"] [24.64692, "o", "\u001b[32;1m?\u001b[0m \u001b[97;1mtestSimple\u001b[0m \u001b[34mvalue1\u001b[0m\r\n"] [24.647546, "o", "Got value value1\r\n"] [24.649365, "o", "\u001b[?1h\u001b=\u001b[?2004h\u001b[33mmy-shell:>\u001b[0m"] [26.649365, "o", "\u001b[?1h\u001b=\u001b[?2004h\u001b[33mmy-shell:>\u001b[0m"]
上下文对象是 MultiItemSelectorContext
。以下表格描述了它的上下文变量:
Key | Description |
---|---|
|
组件存在时返回的值。 |
|
可见项目,其中行包含名称、选择、同行和已启用项目的映射。 |
|
父上下文变量(请参阅 SelectorComponentContext Template Variables)。 |