iview select远程搜索 设置默认值的时候 应用label设置初始值和 setQuery都无效

是点击button后显示模态框里的form 远程搜索回显的时候,想要回显的值 并不是 v-model中绑定的值,但他会自动搜索绑定的值,就是会搜索id 而不是 label。
点击按钮之后设置了setQuery无效,label无效

<Select ref="agency" v-model="storeInfo.agencyId" :label="storeInfo.agencyName" 
filterable remote clearable placeholder="请输入关键字" :remote-method="searchAgency" :loading="searchLoading">
      <Option v-for="(item, index) in agencyList" :value="item.id" :key="item.id">{{item.agencyName}}</Option>
</Select>

//js:
getAgencyList(query = null) {
    return this.$post("/bbtAgency/list", {
        name: query.trim()
    }).then(res => {
        if (res.success) {
            this.agencyList = res.data.page.list;
        } else {
            this.$Message.error(res.message);
        }
    });
},
 searchAgency(query) {
    if (query != "") {
        this.searchLoading = true;

        this.getAgencyList(query).then(() => {
            this.searchLoading = false;
        });
    } else {
        this.agencyList = [];
    }
},
   

阅读 9.4k
2 个回答
✓ 已被采纳新手上路,请多包涵

把v-model中的值 换成另外一个 在异步获取到这个值之后
用文档里的setQuery 会直接弹出下拉框
根绝ref去设置query this.$refs["agency"].query = this.storeInfo.agencyName;

新手上路,请多包涵

是这样的,所以你想回显label的值的话,只能在option选项的value属性中绑定label值,说白了:此时的label和value属性都绑定到了真实的label,这一切仅为了手动赋值时的回显,然后用自定义click option事件代替控件自带的选中,传递参数为对象(该对象中包含了真实的label、vlaue值),需要你手动设置选中的value和label

demo.png

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