vue elementUI select组件更新 选项池 数据更新视图不更新

发布于 2022-09-30 23:09:57 字数 1018 浏览 28 评论 0

做项目用到了elementUI 的select组件(可搜索的select)
因为组件中涉及到多个相同的select组件 每个select组件绑定的值对应一个对象中的唯一key data中也定义相关的数据
现在的问题是在我执行搜索过滤以后 过滤后的值已经更新 但是视图依然是全部选项的视图 也用了this.$set 不知道是什么原因请各位大佬帮忙看下 谢谢哈

<el-select
  v-model="scope.row.code"
  placeholder="请选择"
  filterable
  :filter-method="((data)=>{deptOptionsFilter(data, scope.row.uuid)})"
  @change="currentAllDeptChangeE(scope.row.uuid)"
>
  <el-option
    v-for="item in deptOptionsE[scope.row.uuid]"
    :key="item.code"
    :label="item.name"
    :value="item.code"
  />
</el-select>

对应方法

async deptOptionsFilter(data, uuId) {
      console.log(uuId);
      if (data) {
        const res = await OrderATermAction.TermEdit.getUnDrugTermDept({
          deptInfo: data
        });
        this.$set(this.deptOptionsE, uuId, []);
      }
    },

在console.log 中 唯一标识 对应正确 结果也正确就是视图不刷新

打印第一行为动态添加该组件时的唯一标识
打印第二行为修改行的唯一标识
打印第三行为更新后的select目标池数据

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我乃一代侩神 2022-10-07 23:09:57

问题找到了 问题不在后期赋值 而在以第一次赋值没有用set 造成后续无法监听

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文