问题遇到的现象和发生背景
远程搜索的下拉框,现在需要根据名字name和首拼Pin搜索,下拉框的label为name,value为code,现在根据name搜索后从后台拿到数据渲染是正常的,在根据首拼Pin搜索时,已经从后台拿到数据放入到option的list里面,但页面显示没有值,现在想要根据name和pin搜索不知道怎么实现。
问题相关代码,请勿粘贴截图
<Select
v-model="model13"
filterable
:remote-method="remoteMethod1"
:loading="loading1">
<Option v-for="(option, index) in options1" :value="option.value" :key="index">{{option.label}}</Option>
</Select>
<script>
export default {
data () {
return {
model13: '',
loading1: false,
options1: [],
list: [
{
label:'年糕',
value:'0001',
pin:'ng'
},
{
label:'松仁',
value:'0002',
pin:'sr'
},
{
label:'菠萝',
value:'0003',
pin:'bl'
},
]
}
},
methods: {
remoteMethod1 (query) {
if (query !== '') {
this.loading1 = true;
setTimeout(() => {
this.loading1 = false;
//假设输入的是sr,后台返回一条数据
const lists=[
{
label:'松仁',
value:'0002',
pin:'sr'
},
]
this.options1 =lists
}, 200);
} else {
this.options1 = [];
}
},
}
}
</script>
运行结果及报错内容
在输入首拼后,后台返回条数据,但页面显示没有数据,应该是在option的list中匹配不到label中含有这些字母的数据
我的解答思路和尝试过的方法
<Option v-for="(option, index) in options1" :value="option.value" :key="index">{{option.label}} <span v-show='false'>{{option.pin}}</span></Option>
我想要达到的结果
根据name和pin字段都能搜索成功