2 个回答

https://element.eleme.cn/#/zh...

el-tree通过disabled设置禁用状态,选中状态的切换是默认的,这个不用管,那你只要修改下子节点的disabled就可以了

在change事件(current-change)中递归获取所有子组件,然后根据当前组件的状态去设置子组件的disabled

递归方法

// 选中禁用子节点
childJin(data) {
    const a = data.children.length
    for (let i = 0; i < a; i++) {
        data.children[i].is_show = true  //控制禁用参数
        this.checkedDepartment.push({
            name: data.children[i].name,
            id: data.children[i].id
        })
        this.childJin(data.children[i])
    }
},
 // 解除选中禁用子节点
childYong(data) {
    const a = data.children.length
    for (let i = 0; i < a; i++) {
        data.children[i].is_show = false //解除禁用
        for (let j = 0; j < this.checkedDepartment.length; j++) {
            if (this.checkedDepartment[j].id === data.children[i].id) {
                this.checkedDepartment.splice(j, 1)
                continue
            }
        }
        this.childYong(data.children[i])
    }
},
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏