# 用户选择 # 简介 “用户选择” 模块用于让用户从多个选项中选择一个(或多个)。比如下面的动作([点击查看动作](https://getquicker.net/sharedaction?code=2a89f753-546d-45d0-bfd9-08d6720e1a02)),让用户选择一个时间格式以插入到当前文档中: ![](https://cdn.nlark.com/yuque/0/2022/png/272392/1665467645871-1886da58-e662-41e8-813e-3a75ea3b19de.png) 当用户点击一个选项的时候,会选中此选项并关闭选择窗口。 ## 操作说明 单选: + 左键点击选项:直接选中并保存; + 键盘上下键切换选项,空格选中保存; + Ctrl+选项前面的数字(1-9)可快速选择选项; 多选: + 左键单击选中或取消选中; + 按住鼠标拖动,选择多项; + 键盘上下键切换选项,空格切换选择状态; + Ctrl+选项前面的数字可以切换选择状态; **筛选** 如果启用筛选,可以直接输入拼音首字母或关键词进行筛选。 也可以在任何时候使用`Ctrl+F`打开筛选框(选择窗口占用焦点的情况下)。 筛选默认使用模糊匹配方式,支持拼音、非连续字符等。如需使用更严格的包含方式匹配,请使用`!关键词`的方式。(1.39.16+) 如果设置了右键菜单,点击右键可选菜单项。 # 单选与多选 用户选择支持“单选”和“多选”两种操作类型。 单选时,输出内容为选择选项值文本;多选时,输出内容为选择选项值的列表。 ![](https://cdn.nlark.com/yuque/0/2020/png/272392/1589326832473-3ca2aae6-cc14-43ec-8693-60d21beb867b.png) ## 参数说明 ![](https://cdn.nlark.com/yuque/0/2019/png/272392/1553089471658-4eee9290-5f4f-40fb-962a-7edaba2a3033.png) **窗口标题:**窗口的标题文字。 **提示信息:**显示在列表下面的提示文字。 **** **选项:**定义列出的可选择项,每行一个。 支持如下的格式类型: + 选项内容                        _ 选项显示内容与值相同的情况_ + 选项显示文字**|****选项值**        _选项显示内容与值不相同的情况,使用竖线分隔显示内容与值_ + [fa:Light_Pen:#99AAFF]选项文本内容(Tooltip文字内容)|**选项值 ** _指定选项的图标、文本和Tooltip_ - 图标部分和tooltip部分都为可选。 在提供Tooltip内容时,其长度必须多于2个字符。 - 图标可用格式请参考[《在动作中使用图标》](https://getquicker.net/KC/Help/Doc/use-icon-in-actions)。 - 此时`|选项值`的部分不可缺少。 选项显示内容和值之间默认使用**|**作为分隔符。如果希望将分隔符更改为其他值,请在第一行使用 **|=新分隔符** 的形式指定新的分隔符(前面不要有空格)。分隔符可以是单个字母也可以是多个字母的组合。在使用插值时,首行应该为“$$|=新分隔符”。 ![](https://cdn.nlark.com/yuque/0/2020/png/272392/1584347674795-29dad6fe-4720-4b99-89ff-da66412eb0e6.png) 如果希望根据词典类型的变量指定选项,可以使用 $={词典变量} 表达式格式填写可选值。此时,词典项的键(Key)将作为选项的显示内容,词典项的值(Value)将作为选项的值。 选择后,“选择的项”将返回词典项的值(Value),“完整的选项”将会返回词典项的键(Key)。 如果需要调换显示内容和返回值,可以使用词典操作模块中的“翻转键值”。 **默认值:** _单选模式:_默认选中的选项的值。从1.1.2版本开始,也可以输入序号数字(从0开始,仅支持选择1项)。会先匹配选项的值,匹配成功则选中对应项。如果不成功,会判断是不是一个数字,如果是数字的话就按序号选则项。 _多选模式:_默认选中的的列表。根据文本类型和列表类型的自动转换机制,也可以使用多行文本,每行为一个要选择的值。自1.43.51版本开始,也支持通过将第0项设置为`//byIndex`,后续项使用待选中项的以0开始的序号的方式指定预先选择的条目。 **** **右键/全局菜单:**定义右键菜单项。每行一个,格式为:**显示内容|值** 。用户选择右键菜单后,将从“选择的菜单”中输出。显示内容支持可选的图标与tooltip,在开始处使用**[=]**时作为全局菜单项,否则作为右键菜单项。例如: + [fa:Solid_Pen:#ff8800]右键菜单标题(菜单项的tooltip悬浮提示)|edit。 + [=][fa:Solid_Pen:#FF0000]全局菜单(tooltip文字第一行\r\n文字第二行)|operation **自动关闭:**几秒钟后如果未操作则自动关闭选择窗口,0表示不自动关闭。 如果预先选中了选项,则自动保存;否则自动取消。 **窗口位置:**选项窗口的显示位置。 **最大窗口尺寸:**格式为:最大宽度,最大高度。可以为数字或百分比,数字表示考虑dpi缩放后的逻辑像素,百分比表示所在屏幕高度或宽度的比例。如 500,100%  表示最宽500逻辑像素,最高整个屏幕的高度。 (1.12.21+版本) 在前面插入**!**(半角叹号)可以为窗口设定固定尺寸。如:"**!**30%,80%",则窗口尺寸为屏幕的30%宽,80%高。 **使用上次的位置:**在同一个动作中重复显示选择窗口的时候,是否保持上次显示的位置。在多次显示选择窗口的情况下,用户可能希望调整窗口位置以避开工作区域。 **不使用焦点:**必须使用鼠标选择,不能使用键盘选择。 此时窗口不会抢占输入焦点。 **失去焦点后关闭窗口:**如果在弹出选择窗口后用户点击了其他位置,则自动关闭选择窗口并取消输入。仅在“不使用焦点”未启用的时候有效。 **启用筛选:**当选项比较多的时候,可以使用筛选功能快速找到选项。 ![](https://cdn.nlark.com/yuque/0/2019/png/272392/1567910482708-90bb7543-c672-4a1f-b4fd-d02b873c4d8d.png) **恢复活动窗口到弹出前:**选择过后,是否将输入焦点还原到弹出选择窗口之前的窗口上。 **允许不选择任何选项时点击确定:**允许不选择的时候点击“确定”按钮。 **取消后停止:**取消选择后是否停止动作。 **窗口标识:**再次运行动作时,可根据标识自动关闭前一个窗口并在该位置显示新窗口。 **帮助按钮内容:**显示帮助按钮,点击后显示一些帮助文本。在这里使用Markdown格式指定要显示的帮助文本。支持一些[扩展的语法](https://github.com/whistyun/MdXaml/wiki/How-to-use-Enhanched-syntax )控制渲染格式。 # 输出 【是否选择】是否选择了选项; 【选择的项】单选时,返回选择的项的值。 【索引号】单选时,返回选择的项的序号,从0开始。 【选择的项列表】多选时,选择的所有选项的值的列表; 【选择的菜单】如果用户点击了右键菜单或全局菜单,则返回点击菜单项的值; 【选择的完整选项】 + 单选模式下:选中选项的原始定义。如果使用词典指定选项,则输出选中词典项的键(Key)。 + 多选模式下:选中选项的原始选项定义的列表。如果使用词典指定选项,则输出选中词典项的键(Key)的列表。也可以输出为多行文本。 【选择的选项标题】所选中选项的标题文字。 【筛选内容】最后使用的筛选词。 # 使用场景 1. 将多个类似的动作组合在一起: - 从一组常用的网址中打开一个(参考:[Quicker网站](https://getquicker.net/sharedaction?code=131086b3-22d9-493e-4a5d-08d68595e9fd) ); - 从一组常用的输入中(比如地址、电话、qq号等),选择一个发送到窗口(参考:[快捷短语](https://getquicker.net/Sharedaction?code=66f0e5c6-1800-4073-ae9f-08d66d40bba1)); - 从一组常用的软件中打开一个,参考动作:[常用软件](https://getquicker.net/Sharedaction?code=4b701d72-99fd-49c1-15f8-08d68278cc52); - 从一组常用的文件夹中打开一个; 2. 选择后续动作的分支:选择一个值后,结合 “如果” 模块执行不同的操作。参考动作:[示例:选择并执行动作](https://getquicker.net/Sharedaction?code=16ac0322-10c1-46b0-d7a2-08d682aaa91c&fromMyShare=true) 3. 选择某个动作模块的参数,如选择时间的格式等。参考动作:[插入日期时间](https://getquicker.net/sharedaction?code=2a89f753-546d-45d0-bfd9-08d6720e1a02)  # 其它信息 # 更新历史 + 1.1.2 增加自动关闭参数(指定秒数后未操作,则自动保存选中的项。如果未选中在,则取消操作);默认值支持使用序号指定默认选择的项。 + 1.1.12 增加筛选功能。 + 1.6.0  增加右键菜单等功能。 + 1.39.16 增加严格匹配方式筛选的说明。 + 20241029 完善参数说明。 + 20241213 增加多选模式通过序号指定预先选择条目的说明。