| | |
| | | |
| | | import { cloneDeep } from 'lodash-es'; |
| | | import { unref } from 'vue'; |
| | | import { forEach } from '/@/utils/helper/treeHelper'; |
| | | import { forEach } from '@/utils/helper/treeHelper'; |
| | | |
| | | export function useTree(treeDataRef: Ref<TreeDataItem[]>, getFieldNames: ComputedRef<FieldNames>) { |
| | | function getAllKeys(list?: TreeDataItem[]) { |
| | |
| | | } |
| | | |
| | | // Update node |
| | | function updateNodeByKey(key: string, node: TreeDataItem, list?: TreeDataItem[]) { |
| | | function updateNodeByKey(key: string, node: Omit<TreeDataItem, 'key'>, list?: TreeDataItem[]) { |
| | | if (!key) return; |
| | | const treeData = list || unref(treeDataRef); |
| | | const { key: keyField, children: childrenField } = unref(getFieldNames); |
| | |
| | | if (!key && key !== 0) return null; |
| | | const treeData = list || unref(treeDataRef); |
| | | const { key: keyField, children: childrenField } = unref(getFieldNames); |
| | | if (!keyField) return; |
| | | if (!keyField) return null; |
| | | treeData.forEach((item) => { |
| | | if (selectedNode?.key || selectedNode?.key === 0) return selectedNode; |
| | | if (item[keyField] === key) { |