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

Select组件tags模式下如何识别手动新增的标签?

识别Select tags模式下的新增标签

方法一:对比初始选项与当前选中值

  1. 把API返回的初始选项(比如[1,2,3,4])存为固定集合或状态变量
  2. 获取当前Select组件的选中值数组(比如[2,5])
  3. 筛选出不在初始选项里的元素,就是新增的标签:
    const initialOptions = [1,2,3,4];
    const selectedValues = [2,5];
    const newTags = selectedValues.filter(item => !initialOptions.includes(item));
    // newTags结果为[5],就是新增的标签
    

方法二:利用组件事件回调区分

在tags模式下,选择已有预设选项和手动新增标签时,组件的回调参数有差异:

  • 选择已有选项时,onSelect的第二个参数option是完整的选项对象
  • 手动输入新增标签时,option为undefined

直接在回调里判断即可:

const handleSelect = (value, option) => {
  if (!option) {
    // 当前value就是新增的标签,比如这里的5
    console.log('新增标签:', value);
  } else {
    // 选择的是已有预设选项,比如2
    console.log('选择已有选项:', value);
  }
};

组件使用时绑定事件:

<Select 
  mode="tags" 
  onSelect={handleSelect} 
  options={initialOptions.map(v => ({ value: v, label: v }))} 
/>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 09:42:45