Skip to content

[Bug] 插件配置中 list+options 多选字段输入字符会清空已选 chips #7884

@10knamesmore

Description

@10knamesmore

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 / 如何复现?

  1. 安装一个含 type: list + 长 options 字段的插件(示例 [astrbot_plugin_repo_of_today](https://github.com/10knamesmore/astrbot_plugin_repo_of_today)languages 字段,含上千个语言选项)。
  2. 打开该插件的配置弹窗,在"关注的语言"字段中先选中 python
Image
  1. 在该多选框中键入 ty:观察到 typescript 被自动选中加入 chips(未按 Enter / 未点击下拉),输入缓冲随即清空,无法继续键入 pescript 或其他字符以精确匹配 typst 等同前缀项, 并且 python chip也消失。
Image
  1. 期望:键入 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 吗?

  • Yes!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:webuiThe bug / feature is about webui(dashboard) of astrbot.bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions