首页 > 技术文章 > select2 插件自定义 tag 选择问题

ende93 2017-12-12 11:16 原文

问题描述

select2 设置 tags = true 的时候可以输入并选择自定义的内容。但是最近出现了 <select> 重新插入初始化的时候,选择了自定义 tag 但是界面没有更新的情况。
插件版本: select2 4.0.1

查找

跟着源码跑了几遍才发现 select2 会对选择进行过滤,通过 getHighlightedResults 方法找到 select option:selected 的对应选项,如果当期 tag 是已选中的就直接 self.trigger('close', {}); 了。但是自定义 tag 是输入查询后才创建、插入 select,怎么会选中呢?想了一下,是 select 会把第一个 option 默认选中的缘故。

解决

select 插入一个空值的 option 就行了

  <option value=""></option>
</select>```

推荐阅读