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)//判断子节点数据是否存在,存在则回显,不用深度遍历
})

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

相关推荐
宁雨桥10 小时前
深入理解 async/await的原理
前端·javascript·es8
心连欣11 小时前
轮播图实战:用Web API玩转元素属性操作
前端·javascript·api
剑神一笑11 小时前
从 JSON.parse 到树形视图:实现一个在线 JSON 格式化工具
前端·javascript·json
淸湫11 小时前
JavaScript常用正则表达式大全
前端·javascript
脱缰胖虎11 小时前
vue3+lodash+ts+tailwin 实现多行文本的展开收起代码(支持渲染html)
前端·vue.js
米丘12 小时前
vue3.5.x 单文件组件(SFC)样式编译过程
css·vue.js·postcss
最炫的美少女战士12 小时前
claude code 安装报错claude native binary not installed.
javascript
肥羊zzz12 小时前
Vue2 vs Vue3 中 v-for 的 key 用法对比
前端·vue.js
用户23678298016813 小时前
Canvas:实现一个高颜值二维码生成器
javascript
剑神一笑13 小时前
从字符串到时间线:实现一个 Cron 表达式解析器
javascript·typescript·reactjs