antd-multi-asl-cascader
Version:
A multiple cascader component for antd
46 lines (45 loc) • 2.19 kB
TypeScript
import { TreeNode } from '../index.d';
export declare function flattenTree(root: TreeNode[]): TreeNode[];
export declare function hasChildChecked(item: TreeNode, curValue: TreeNode[]): boolean;
/**
*
* @param item 被更改的节点
* @param value 之前全部选择的值
* @returns
*/
export declare function isParentChecked(item: TreeNode, value: TreeNode[]): boolean;
export declare function matchAllLeafValue(value: TreeNode[], roots: Array<TreeNode>): TreeNode[];
/**
* 获取 root 下全部的子元素(不包含root本身),再对value进行一层过滤,过滤掉root下的子元素
* @param root 当前选中节点 的最顶层节点
* @param value 已经选中的值
* @returns 更改后的value
*/
export declare function removeAllDescendanceValue(root: TreeNode, value: TreeNode[]): TreeNode[];
export declare function liftTreeState(item: TreeNode, curVal: TreeNode[]): TreeNode[];
/**
* 如果它的父元素被选中,则删除父元素,把父元素下选择的子元素都推入value
* @param root 被更改的节点
* @param value 之前全部选择的值
* @returns
*/
export declare function sinkTreeState(root: TreeNode, value: TreeNode[]): TreeNode[];
/**
* 把变动的节点(不管是选中还是没选中),从value里新增或删除时,兼容它的父节点与子节点
* @param item 变动的节点
* @param checked 变动的节点到底是选中还是未选中状态
* @param value 之前全部选择的值
* @returns TreeNode[]
*/
export declare function reconcile(item: TreeNode, checked: boolean, value: TreeNode[]): TreeNode[];
export declare function transformValue(value: TreeNode[], flattenData: TreeNode[]): TreeNode[];
export declare function shallowEqualArray(arrA: any, arrB: any): boolean;
/**
* 在 allData 里查找出 propsValue 里全部的节点
* @param propsValues 用户输入的value
* @param allData 全部的节点
* @returns
*/
export declare function transPropsValueToValues(propsValues: string[][], allData: TreeNode[]): TreeNode[];
export declare function findAllLeafNode(selectedNodes: TreeNode[]): TreeNode[][];
export declare function transTreeNodesToArray(treeNodes: TreeNode[][]): string[][];