el-tree setChecked实现父子不联动

2024.1.29今天我学习了如何使用el-tree的setChecked用法,在使用el-tree的时候我们需要进行回显情况:如:

javascript 复制代码
[{id:'1',name:'张三',
children:[{id:'1-1',name:'张三四'},{id:'1-2',name:'张三五'}]},
{id:'2',name:'李四'}]

如果我们存id: ['1','2'],是可以把整个树都回显,但是如果在id为2的父数据里面添加子节点,如:

javascript 复制代码
[{id:'1',name:'张三',
children:[{id:'1-1',name:'张三四'},{id:'1-2',name:'张三五'}]},
{id:'2',name:'李四',
children:[{id:'2-1',name:'李四三'}]}]

这样会把'2-1'的子节点也一起回显了,这就是父子联动。

但是我们希望的是父节点变化,子节点不受影响,也就是父子不联动。

我们可以使用setChecked方法:

javascript 复制代码
let all_codes = ['1','1-1','1-2','2']
   all_codes.forEach(item=>{
      this.$refs.tree.setChecked(item,true,false)//判断子节点数据是否存在,存在则回显,不用深度遍历
})

这样就可以实现父节点变化,子节点自己改变。

相关推荐
小王码农记18 分钟前
vue2中table插槽新语法 v-slot
前端·vue.js
hjt_未来可期26 分钟前
js实现复制、粘贴文字
前端·javascript·html
videring32 分钟前
打字机效果-支持ckeditor5、框架无关
前端·javascript
tianxia32 分钟前
主项目通过iframe嵌套子项目,子项目弹框无法全屏
前端·javascript
Apeng_091943 分钟前
vue实现页面不断插入内容并且自动滚动功能
前端·javascript·vue.js
苹果电脑的鑫鑫1 小时前
el-select下拉菜单如何可以手输入内容
前端·vue.js·elementui
克喵的水银蛇2 小时前
Flutter 弹性布局实战:快速掌握 Row/Column/Flex 核心用法
开发语言·javascript·flutter
脾气有点小暴2 小时前
ES6(ECMAScript 2015)基本语法全解析
前端·javascript
前端fighter2 小时前
全栈项目:闲置二手交易系统(二)
前端·vue.js·node.js
sztian682 小时前
JavaScript---BOM对象、JS执行机制、location对象
开发语言·前端·javascript