解决ant-design select组件远程搜索选项不更新的问题

本文介绍了在使用 Ant Design 的 Select 组件进行实时搜索时遇到的视图未更新的问题。问题源于 Select 组件内部的 filterOption 默认开启,导致外部数据更新后未正确显示。解决方案是通过设置 filterOption 为 false,阻止组件内部的筛选,从而实现视图正确显示远程搜索结果。
摘要由CSDN通过智能技术生成
  代码如下,在搜索时调用handleSearch方法,去实时更新下拉选择的选项数据。但是下拉选项没有因为搜索更新,打印搜索后的list结果,发现list确实更新了有数据,但是视图没有更新,显示为空。
<a-select
  v-model="xxx"
  show-search
  placeholder="Please enter"
  :show-arrow="false"
  :not-found-content="null"
  @search="handleSearch"
>
  <a-select-option v-for="item in list" :key="item.value" :value="item.value">
    {{ item.label }}
  </a-select-option>
</a-select>

data() {
  return {
	xxx: '',
    list: []
  }
},
methods: {
	handleSearch(val){
		this.$http(url, { keyword: val }).then(res => {
			this.list = res.list
		})
	}
}
  刚开始还以为是diff的问题,视图没有更新更改后的数据。调试了半天之后才发现ant-design的select组件筛选下拉选项filterOption是默认打开的,也就是说你自己在搜索的时候传到select组件,组件内部又根据你搜索的关键字又筛选了一遍,将筛选后的结果显示到页面上。导致了数据更新了,视图却没有显示正确的远程搜索的结果
  解决办法就是手动设置filterOption为false在select组件上

在这里插入图片描述

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vgbire

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值