el-tree通过default-expand-all动态控制展开/折叠

1、如下图通过勾选框动态控制展开/折叠,全选/清空

2、实现方式如下:定义key,监听checked2修改treeKey,重新渲染tere;附加全选和清空。

bash 复制代码
      <div class="tree">
        <el-checkbox v-model="checked1">选中全部</el-checkbox>
        <el-checkbox v-model="checked2">展开全部</el-checkbox>
        <el-tree :key="treeKey" :data="treeData" show-checkbox node-key="id" :props="defaultProps" ref="tree" :default-expand-all="checked2"></el-tree>
      </div>


    watch: {
      // 树形控件全选/清空
      'checked1':function (newVale,oldVale) {
        if(newVale === false) {
          this.$refs.tree.setCheckedKeys([]);//清空
        } else {
          this.$refs.tree.setCheckedNodes(this.treeData);//全选
        }
      },
      // 树形控件展开/折叠
      'checked2':function (newVale,oldVale) {
        this.treeKey = Date.now();//重新渲染树结构,动态控制展开/折叠
      },
    },
相关推荐
雪芽蓝域zzs14 天前
第7节:多选模式、自定义选项渲染、受控弹窗显隐
vue.js·elementui
雪芽蓝域zzs15 天前
第6节:远程搜索弹窗(remote 模式),弹窗滚动加载分页
vue.js·elementui
雪芽蓝域zzs16 天前
第4节:el-select 弹窗事件控制(打开 / 关闭、选中事件、弹窗滚动事件)
vue.js·elementui
ss27316 天前
AI全栈实战 | 2.3-01 组件库实战:Element Plus 怎么搭出专业界面,过度封装为什么成维护负担
前端·javascript·elementui·vue
雪芽蓝域zzs16 天前
第3节:el-select 弹窗定位、滚动穿透与挂载容器(popper-append-to-body /teleported)
vue.js·elementui
雪芽蓝域zzs16 天前
第 2 节:基础扩展 - 下拉弹窗常用原生属性
vue.js·elementui
雪芽蓝域zzs17 天前
Vue3 + Element Plus el-select 下拉弹窗
vue.js·elementui
朱 欢 庆21 天前
el-table 表格组件二次封装
javascript·vue.js·elementui
ℋᙚᵐⁱᒻᵉ鲸落1 个月前
ETypeError: nameRef.value?.focus is not a functio. 设置el-input自动聚焦时报错
前端·javascript·vue.js·elementui
愛芳芳1 个月前
基于 Electron + Vue3 的仿 PC 微信客户端项目实战
前端·javascript·css·elementui·typescript·electron·vue