You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Choices.js单选组件:如何使文本搜索返回禁用选项?

Choices.js 单选组件:让搜索包含禁用选项的解决方案

Choices.js 默认会在搜索前过滤掉禁用选项,这就是你配置了fuseOptions却搜不到禁用项的核心原因。以下是可行的修复方案:

  • 修改初始化配置,关闭禁用选项的前置过滤
    调整filterOptions中的excludeDisabled参数为false,让组件将禁用选项纳入搜索池:

    const choices = new Choices('#your-select-element', {
      // 保留你的其他原有配置
      filterOptions: {
        excludeDisabled: false, // 关键:取消对禁用选项的前置过滤
      },
      fuseOptions: {
        // 你的原有Fuse.js配置,例如:
        includeScore: true,
        threshold: 0.3
      },
      // 确保禁用选项依然不可选中
      shouldDisable: (item) => item.disabled
    });
    
  • 维持禁用选项的视觉与交互状态
    如果使用了自定义模板,记得保留禁用类名以保证视觉区分:

    itemTemplate: (item) => {
      const disabledClass = item.disabled ? 'choices__item--disabled' : '';
      return `<div class="choices__item ${disabledClass}">${item.label}</div>`;
    }
    

配置完成后,文本搜索会返回包含禁用选项的结果,且禁用选项依然保持不可选中的状态,完全匹配你的需求。

内容的提问来源于stack exchange,提问作者Manuel Corbet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 17:54:57