vue3+element Plus 清空el-tree复选框选中项

前提问题: el-tree加了show-checkbox复选框属性后,在选择完复选框后切换,不会自动清空选中内容,要求在切换时清空复选框选中内容,
解决过程: 设置el-tree的ref值,使用setCheckedKeys方法可清空复选框所选中的内容
解决方法:

html:

复制代码
<el-tree
   highlight-current
   :data="props.menuData"
   @node-click="handleClick"
   @node-expand="showPushData"
   ref="treeRef"
   :expand-on-click-node="false"
   node-key="id"
   :default-expanded-keys="props.expandIdList"
   :show-checkbox="state.switchRelate"
   :props="{ disabled: disabledNodeClass, class: customNodeClass }"
   :check-strictly="false"
   @check="getChecked"
>
</el-tree>
<div class="relateBtn">
    <el-button type="primary" @click="switch">切换</el-button>
</div>

js:

复制代码
const switch= () => {
    //清空复选框勾选内容
    treeRef.value.setCheckedKeys([])
}

注意: 1.el-tree的node-key属性一定要有,我第一次写的是node-key="type"时setCheckedKeys未生效,后改为node-key="id"生效。

2.原本写node-key="type"是为了default-expanded-keys属性自动展开时,依据type值展开,但因为这样写setCheckedKeys不生效所以改成了id,default-expanded-keys给的值可以是一个变量,将type为某某值的id全部放到一个数组里传到该属性中也可达到同样的自动展开效果。

相关推荐
十秒耿直拆包选手4 分钟前
web:js提示框、询问框、输入框的使用
开发语言·javascript
天天向上的鹿茸42 分钟前
web前端用MVP模式搭建项目
前端·javascript·设计模式
wocwin1 小时前
uniapp微信小程序vue3封装时间段范围选择组件
vue.js·微信小程序
山河木马1 小时前
前端学C++可太简单了:导入标准库
前端·javascript·c++
胡gh2 小时前
线程与进程:从零开始理解它们的区别与联系
前端·javascript·后端
精神小伙2号2 小时前
vue的provide和inject
前端·javascript·vue.js
JohnYan2 小时前
Bun技术评估 - 18 Bun 1.2(下)
javascript·后端·bun
草履虫建模2 小时前
若依框架下前后端分离项目交互流程详解
java·前端·javascript·spring boot·spring cloud·intellij-idea·交互
cccyi72 小时前
vue-v-model进阶-ref-nextTick
前端·javascript·vue.js
咚咚咚ddd2 小时前
移动端适配方案 : PostCSS px to viewport
前端·javascript·前端工程化