关于javascript:thisrefstreesetCheckedKeys不能清空选中

41次阅读

共计 550 个字符,预计需要花费 2 分钟才能阅读完成。

问题

Vue+element tree 应用,当弹窗敞开时,this.$refs.tree.setCheckedKeys([])不能清空选中。

解决

因为弹窗敞开,导致 this.$refs.tree.setCheckedKeys([]) 有效。

此时,须要咱们从新获取整个树组件的 node,而后将对应的每个选项 checked 为空。

// 首先获取 node
let node = this.$refs.tree.getNode(this.data[0].id).parent;
// 这里的 this.data 是指的树的数据; 而 id 是指,:node-key="id" 这里的 id。从而获取到整个树的 node
// 而后便历树,将所有的 checked 改成 false
node.childNodes.map(val=>{
  val.checked = false;
  if(val.childNodes&&val.childNodes.length>0){
    val.childNodes.map(value=>{value.checked = false})  
  }
})

[Vue+element tree 应用,当弹窗敞开时,this.$refs.tree.setCheckedKeys([])不能清空选中](https://github.com/yihan12/da…

正文完
 0