问题
打开对话框时,加载里面的树,并且勾选默认节点。
在对话框中监听 dialogOpen
为 true
时就调用 el-tree
的 setCheckedKeys()
方法。但是总是报错无法读取树。试过 $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
标签:el,对话框,tree,setCheckedKeys,data,加载 From: https://www.cnblogs.com/shayloyuki/p/16899344.html