shayloyuki

科技是第一生产力

 

el-tree 的 setCheckedKeys() 无效

问题

打开对话框时,加载里面的树,并且勾选默认节点。

在对话框中监听 dialogOpentrue 时就调用 el-treesetCheckedKeys() 方法。但是总是报错无法读取树。试过 $nextTick 也不行。

  watch: {
    // 监听对话框是否打开
    dialogOpen(val) {
      if (val) {
        this.loadAllClass()
        this.$refs.menuTree.setCheckedKeys(this.defaultChecked) // 无法读取树,报错
      }
    },
  },

解决

setCheckedKeys() 使用必须在树加载完毕后才可。

因此,要在树形数据的接口调用完毕后使用。

    // 加载类节点数据
    async loadAllClass() {
      this.classListLoading = true
      const data = await classList({
        measureVersion: this.stanVersionId
      })
      if (data.code === 200) {
        this.classList = data.data.rows
        this.$refs.menuTree.setCheckedKeys(this.defaultChecked)
        this.classListLoading = false
      }
    }

参考链接

Cannot read property ‘setCheckedKeys‘ of undefined

posted on 2022-11-17 14:16  shayloyuki  阅读(3086)  评论(0编辑  收藏  举报

导航