| | |
| | | import { cloneDeep } from 'lodash-es'; |
| | | import { unref } from 'vue'; |
| | | import { forEach } from '/@/utils/helper/treeHelper'; |
| | | import { isNullOrUnDef } from '/@/utils/is'; |
| | | |
| | | export function useTree(treeDataRef: Ref<TreeDataItem[]>, getFieldNames: ComputedRef<FieldNames>) { |
| | | function getAllKeys(list?: TreeDataItem[]) { |
| | |
| | | //let nodes:TreeItem[]=[]; |
| | | let node:TreeItem=null; |
| | | const treeData = list || unref(treeDataRef); |
| | | const { key: keyField, children: childrenField } = unref(getFieldNames); |
| | | if (!keyField) return; |
| | | treeData.forEach((item) => { |
| | | if (item.id === id) { |
| | | if (item[keyField] === id) { |
| | | node = item; |
| | | return |
| | | } |
| | | if(item.children.length>0){ |
| | | if(!isNullOrUnDef(item.children) && item.children.length>0){ |
| | | let res=getNodeById(id,item.children) |
| | | if(res!=null){ |
| | | node = res; |