iview的select组件 搜索功能会同时搜索label和value

html:

<i-select v-model="companyId" clearable filterable>
    <i-option v-for="item in managements"
              :value="item.companyId"
              :key="item.companyId">
        {{ item.shortName }}
    </i-option>
</i-select>

js:

[
    {companyId: 6, shortName: "首金"},
    {companyId: 7, shortName: "苏宁"},
    {companyId: 8, shortName: "鄞州银行"},
    {companyId: 9, shortName: "随行付"},
    {companyId: 10, shortName: "聚有财"},
    {companyId: 15, shortName: "新首金"}
]

上截图:

clipboard.png
搜索“1”会把companyId中带有1的项目也查出来,麻烦哪位大神看看

阅读 9k
4 个回答

Demo

<i-option v-for="item in managements"
              :value="item.shortName"
              :key="item.companyId">
属性 说明 类型 默认值
value 选项值,默认根据此属性值进行筛选,必填 String,Number
新手上路,请多包涵

因为我必须要使用ID,我用笨方法解决了,v-model绑定name,value也绑定name,选择之后去遍历数组,把name对应的ID取出来就可以了

新手上路,请多包涵

4.2版本之后可以通过加上filter-by-label属性解决

新手上路,请多包涵
              <Option
                v-for="item in vendorList"
                :value="item.id"
                :key="item.id"
                >{{ item.name + "_" + item.id }}</Option
              >

完美解决

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题