根据tree的checked是否为true组合所有已选中的值集
JavaScript Code复制内容到剪贴板
- /**
- *
- * 处理树数据中,获取所有【已经选中】的唯一值集合
- * @param {*} data 树数据
- * @param {*} field 树的主健字段名,默认是id,也有可能是key
- * @param {*} children 树的子级字段名,默认是children,也有可能是child
- * @param {*} checked 已选中的字段名,默认是checked
- * @param {*} checkedArr 已选中的值集合
- * @returns
- */
- export function getTreeListChooseCheckedKeys (data, field = 'id', children = 'children', checked = 'checked', checkedArr = []) {
- // console.log(data)
- for (var i = 0; i < data.length; i++) {
- var item = data[i]
- // console.log(item, checkIds.indexOf(item[field]))
- if (item[children] && item[children].length) {
- // 如果有子级
- item[children] = getTreeListChooseCheckedKeys(item[children], field, children, checked, checkedArr)
- // console.log(item[children])
- if (!item[children].length) {
- // delete data[i]
- }
- } else {
- // 如果没有子级
- if (item[checked] === true) {
- checkedArr.push(item[field])
- }
- }
- }
- return checkedArr
- }
上一篇 根据指定key将数组分组