带子级父级联动全选复选框的无限级树形el-table怎么实现

希望在选完之后数据能是这样的:

子级全选了,只返回父级数据,子级没有全选,返回全选父级加单独的子级,整个表格全选返回所有一级的数据。
阅读 2.6k
1 个回答

父子级联动的复选框有一个特点,就是父级选中了,说明子级都是选中的,那么这个就可以使用递归,如果元素选中,就不需要往下遍历了,否则需要往下递归

function getCheckedData(data){
    let res = []
    data.forEach(item => {
        if(item.checked){
            res.push(item)
        }else if(Array.isArray(item.children)){
            res = res.concat(getCheckedData(item.children))
        }
    })
    return res
}
推荐问题