Element ui的el 您所在的位置:网站首页 el-tree单选 Element ui的el

Element ui的el

2022-05-13 08:58| 来源: 网络整理| 查看: 265

Element ui的el-tree多选树(复选框)父子节点关联不关联的问题

jellybean 2022-02-01 30 浏览 0 评论

选中当前节点,他的子节点和父节点是否被选中,非常详细

直接上代码 之前也在网上搜过很多文章 总是多多少少有一些问题,那么我就把自己修改好的给到大家 希望可以帮到大家

最终效果贴图如下

Element ui的el-tree多选树(复选框)父子节点关联不关联的问题

Element ui的el-tree多选树(复选框)父子节点关联不关联的问题

// 通过check的回调里面获取节点id,再获取节点的node对象

currentChecked(data) {

const node = this.$refs.tree.getNode(data.id)

this.setNode(node)

},

// 递归设置子节点和父节点

setNode(node) {

if (node.checked) {

// 如果当前是选中checkbox,则递归设置父节点和父父节点++选中

this.setParentNode(node)

this.setChildNode(node)

} else {

// 如果当前是取消选中checkbox,则递归设置子节点全部取消选中

// this.removeParentNode(node)

this.removeChildNode(node)

}

},

// 递归设置父节点全部选中

setParentNode(node) {

if (node.parent) {

for (const key in node) {

if (key === 'parent') {

node[key].checked = true

this.setParentNode(node[key])

}

}

}

},

removeParentNode(node) {

if (node.parent) {

for (const key in node) {

if (key === 'parent') {

node[key].checked = false

this.removeParentNode(node[key])

}

}

}

},

// 递归设置子节点全部取消选中

setChildNode(node) {

if (node.childNodes && node.childNodes.length) {

node.childNodes.forEach(item => {

item.checked = true

this.setChildNode(item)

})

}

},

removeChildNode(node) {

if (node.childNodes && node.childNodes.length) {

node.childNodes.forEach(item => {

item.checked = false

this.removeChildNode(item)

})

}

},

直接可用哦!!!

element-ui 上一篇:使用Vue3从零开始基于elementUI-Plus扩展开发-安装ElementUI 下一篇:通过Vue ElementUI实现登录页面布局


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有