/** * @description 递归查看父级节点数据集合及当前节点数据 * @params {Array} list 当前需要过滤查看的数据集合、 * @params {String/Array} nodeKey 当前用于查找匹配数据的标识值 * @params {Object} params 指定当前数据中,筛选对应子集合字段名及匹配标识值字段名 * (childrenParam:指当前子集合数据字段名(字符串表示单个,数组表示当前多个子集合字段名),keyParam: 指当前匹配标识值字段名) * @params {Object} extra * * @result {Array} nodeParent 当前传入nodeKey值所有上级别父级数据对象数组集合(倒序排列,根节点在最后一条) * @result {Array} parentKeys 当前传入nodeKey值所有上级别父级数据关键字数据集合(keyParam)(倒序排列,根节点在最后一条) * @result {Array} matchNode 当前传入nodeKey值所在的数据对象集合 * */ export declare const getParentNodes: (list: any[], nodeKey: string | number, params?: { childrenParam: string; keyParam: string; }, extraProps?: any) => { nodeParent: any[]; parentKeys: any[]; matchNode: any[]; }; /** * @description 递归查找指定节点的所有子菜单与子功能集合 * @params {Array} childNode 当前需要过滤查看的子数据集合、 * @params {Object} params 指定当前数据中,筛选对应子集合字段名及匹配标识值字段名 * (childrenParam:指当前子集合数据字段名(字符串表示单个,数组表示当前多个子集合字段名),keyParam: 指当前匹配标识值字段名) * @params {Object} extra * * @result {Array} childKeys 所有子项的id * @result {Array} nodeChildren 当前传入nodeKey值所在的数据对象集合 * */ export declare const getChildrenNodes: (childNode: any, params?: { childrenParam: string; keyParam: string; }) => { childKeys: any[]; nodeChildren: any[]; }; /** * @description 查找指定节点或节点集合的完整路径数据 * @params {Array} list 查询的数据源 * @params {Array | String | Number} nodeKey 需要查询的key集合 * @params {Object} params 指定当前数据中,筛选对应子集合字段名及匹配标识值字段名 * (childrenParam:指当前子集合数据字段名(字符串表示单个,数组表示当前多个子集合字段名),keyParam: 指当前匹配标识值字段名) * * @result {Array} 所有匹配到的层级数据(如果nodeKey是数组,则返回的节点集合会分别按顺序存到数组内 * * */ export declare const getNodePaths: (list: any, nodeKey: any, params?: { childrenParam: string; keyParam: string; }, extraProps?: any) => any[]; /** * @description 查找节点数据:点击获取对应ID的完整数据(即从树数据中深层查找与ID值相匹配的相关数据对象) * * @param [array] list 需要过滤的数据 * @param [string] key 指定过滤的key值 * @param [Object] optionName 指定value与children相关字段名 * * @data list: 列表数据格式 */ export declare const getNode: (list: any[], key?: string | number, optionName?: { value: string; children: string; } | undefined) => {}; /** * 数组转树形结构 * @param {array} list 被转换的数组 * @param {number|string} root 根节点(最外层节点)的 id * @param {object} params 字段值(默认 { keyParam: 'id', parentParam: 'parentId' }) * @return array */ export declare const arrayToTree: (list: any, rootId: any, { keyParam, parentParam, childrenParam }?: { keyParam?: string | undefined; parentParam?: string | undefined; childrenParam?: string | undefined; }) => any[]; /** * 多根树转换成数组 * @param {array} tree 被转换的树(仅限于只有一个根的树 * @return array */ export declare const convertToArray: (tree: any, { keyParam, parentParam, childrenParam }?: { keyParam?: string | undefined; parentParam?: string | undefined; childrenParam?: string | undefined; }) => any[]; /** * 树过滤(默认按名称过滤,也可按指定的字段名过滤) * @param {array} list 需要过滤的树 * @param {string | number} nodeKey 需要筛选的名称(默认搜索名称,如果需要指定其他字段值,则参数传object * @param {object} params 指定当前数据中,筛选对应子集合字段名及匹配标识值字段名 * @value { childrenParam: 'children', keyParam: 'name' } childrenParam:指当前子集合数据字段名,keyParam: 指当前匹配标识值字段名) * * @return array 返回新的数组 * */ export declare const filterTreeNodes: (list: any[], nodeKey: string | number, params?: { childrenParam: string; keyParam: string; }) => any; /** * @param {Array} data 树数组数据 * @param {Number} level 起始层级序号 * @param {Number} level 起始层级序号 * @param {Array} parentIndexPath 父级序号集合 * @param {Array} parentNamePath 父级名称集合 * @param {Object} optionName 指定字段名 {children: '', label: '', title: '', name: ''} * @param {Object} extra 扩展配置 {separator: '/'} * */ export declare const addTreeLevels: (data: any, level: number | undefined, parentIndexPath: never[] | undefined, parentNamePath: never[] | undefined, optionName: any, extra: any) => any[]; /** * @description 获取树数据中所有叶子节点的上层节点路径(用于antd树组件的expandedKeys配置) * @params {Array} list 树数据集合 * @params {Object} params 指定当前数据中,子集合字段名及标识值字段名 * (childrenParam:指当前子集合数据字段名,keyParam: 指当前匹配标识值字段名) * @params {Object} extra 额外配置 * * @result {Array} leafParentKeys 所有叶子节点的上层节点key集合(去重后的数组) * @result {Array} leafNodes 所有叶子节点本身 * @result {Array} leafNodesKeys 所有叶子节点的key集合 * @result {Array} leafParentPaths 所有叶子节点的完整上层路径数组 * * 用法: * const { leafParentKeys, leafNodes , leafNodesKeys, leafParentPaths} = getLastLeafParentNodes(treeList, { childrenParam: 'children', keyParam: 'id' }) */ export declare const getLastLeafParentNodes: (list?: never[], params?: { childrenParam: string; keyParam: string; }, extra?: {}) => { leafNodes: any[]; leafNodesKeys: any[]; leafParentKeys: unknown[]; leafParentPaths: any[]; };