What happened / 发生了什么
在 AstrBot WebUI 的插件配置弹窗中,当字段 schema 类型为 list 且配有 options(未指定 render_type: checkbox)时,前端渲渲染 Vuetify 的多选下拉(v-select multiple chips)
当 options 列表较长(如astrbot_plugin_repo_of_today的"关注的语言"字段含上千个编程语言)时,现有控件的键盘交互几乎不可用:
- 控件不是真正的 autocomplete,键入字符不会过滤下拉候选。
- 取而代之的是 Vuetify 在 multiple 模式下默认启用的"键盘类型
选择"无障碍特性——键入字符按前缀匹配后自动 toggle
选中首个命中项(无需 Enter 或点击)。
- 自动选中后输入缓冲立即清空,用户无法用更多字符继续精确匹配
同前缀的其他项。
- 在键入过程中已选 chips
会被键入文本图层覆盖,视觉上像是"已选数据被清空"。
- 实际用户只能依赖方向键 +
回车在巨大下拉中逐项滚动定位,体验极差。
期望行为:键入字符仅过滤下拉候选项(不自动选中),用户在过滤
后的列表中点击或回车确认;选中后搜索文本自动清空,便于连续键
入下一个关键词。
根因:该分支应使用 Vuetify 的 v-autocomplete(select +
输入过滤),而非 v-select。
Reproduce / 如何复现?
- 安装一个含
type: list + 长 options 字段的插件(示例 [astrbot_plugin_repo_of_today](https://github.com/10knamesmore/astrbot_plugin_repo_of_today) 的 languages 字段,含上千个语言选项)。
- 打开该插件的配置弹窗,在"关注的语言"字段中先选中
python。
- 在该多选框中键入
ty:观察到 typescript 被自动选中加入 chips(未按 Enter / 未点击下拉),输入缓冲随即清空,无法继续键入 pescript 或其他字符以精确匹配 typst 等同前缀项, 并且 python chip也消失。
- 期望:键入
ty 应仅过滤下拉为 ty* 开头的候选项(不自动选中),由用户回车/点击确认。
AstrBot version, deployment method (e.g., Windows Docker Desktop deployment), provider used, and messaging platform used. / AstrBot 版本、部署方式(如 Windows Docker Desktop 部署)、使用的提供商、使用的消息平台适配器
uv 本地部署
OS
macOS
Logs / 报错日志
纯前端问题, 没有日志
Are you willing to submit a PR? / 你愿意提交 PR 吗?
Code of Conduct
What happened / 发生了什么
在 AstrBot WebUI 的插件配置弹窗中,当字段 schema 类型为 list 且配有 options(未指定 render_type: checkbox)时,前端渲渲染 Vuetify 的多选下拉(v-select multiple chips)
当 options 列表较长(如astrbot_plugin_repo_of_today的"关注的语言"字段含上千个编程语言)时,现有控件的键盘交互几乎不可用:
选择"无障碍特性——键入字符按前缀匹配后自动 toggle
选中首个命中项(无需 Enter 或点击)。
同前缀的其他项。
会被键入文本图层覆盖,视觉上像是"已选数据被清空"。
回车在巨大下拉中逐项滚动定位,体验极差。
期望行为:键入字符仅过滤下拉候选项(不自动选中),用户在过滤
后的列表中点击或回车确认;选中后搜索文本自动清空,便于连续键
入下一个关键词。
根因:该分支应使用 Vuetify 的 v-autocomplete(select +
输入过滤),而非 v-select。
Reproduce / 如何复现?
type: list+ 长options字段的插件(示例[astrbot_plugin_repo_of_today](https://github.com/10knamesmore/astrbot_plugin_repo_of_today)的languages字段,含上千个语言选项)。python。ty:观察到typescript被自动选中加入 chips(未按 Enter / 未点击下拉),输入缓冲随即清空,无法继续键入pescript或其他字符以精确匹配typst等同前缀项, 并且pythonchip也消失。ty应仅过滤下拉为ty*开头的候选项(不自动选中),由用户回车/点击确认。AstrBot version, deployment method (e.g., Windows Docker Desktop deployment), provider used, and messaging platform used. / AstrBot 版本、部署方式(如 Windows Docker Desktop 部署)、使用的提供商、使用的消息平台适配器
uv 本地部署
OS
macOS
Logs / 报错日志
纯前端问题, 没有日志
Are you willing to submit a PR? / 你愿意提交 PR 吗?
Code of Conduct