fix: update tree-select types (#2698)

* fix: update tree-select typo

* fix: tree-select prop typo
pull/2692/head^2
言肆 2020-08-17 21:35:38 +08:00 committed by GitHub
parent fd1554eacc
commit f099848461
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 215 additions and 169 deletions

384
types/tree-select.d.ts vendored
View File

@ -4,6 +4,7 @@
import { AntdComponent } from './component'; import { AntdComponent } from './component';
import { TreeNode } from './tree-node'; import { TreeNode } from './tree-node';
import { VNodeChild, CSSProperties } from 'vue';
export interface TreeData { export interface TreeData {
key: string | number; key: string | number;
@ -15,214 +16,259 @@ export interface TreeData {
selectable?: boolean; selectable?: boolean;
} }
export interface ReplaceFields {
children: 'children';
title: 'title';
key: 'key';
value: 'value';
}
export type TreeNodeValue = string | number | string[] | number[]; export type TreeNodeValue = string | number | string[] | number[];
export declare class TreeSelect extends AntdComponent { export declare class TreeSelect extends AntdComponent {
static TreeNode: typeof TreeNode; static TreeNode: typeof TreeNode;
treeIcon?: boolean; $props: {
treeIcon?: boolean;
notFoundContent?: any; notFoundContent?: VNodeChild | JSX.Element;
/** /**
* Whether allow clear * Whether allow clear
* @default false * @default false
* @type boolean * @type boolean
*/ */
allowClear: boolean; allowClear?: boolean;
defaultValue: TreeNodeValue; defaultValue?: TreeNodeValue;
/** /**
* Disabled or not * Disabled or not
* @default false * @default false
* @type boolean * @type boolean
*/ */
disabled: boolean; disabled?: boolean;
/** /**
* className of dropdown menu * className of dropdown menu
* @type string * @type string
*/ */
dropdownClassName: string; dropdownClassName?: string;
/** /**
* Determine whether the dropdown menu and the select input are the same width * Determine whether the dropdown menu and the select input are the same width
* @default true * @default true
* @type boolean * @type boolean
*/ */
dropdownMatchSelectWidth: boolean; dropdownMatchSelectWidth?: boolean;
/** /**
* To set the style of the dropdown menu * To set the style of the dropdown menu
* @type object * @type object
*/ */
dropdownStyle: object; dropdownStyle?: CSSProperties;
/** /**
* Whether to filter treeNodes by input value. The value of treeNodeFilterProp is used for filtering by default. * Whether to filter treeNodes by input value. The value of treeNodeFilterProp is used for filtering by default.
* @default Function * @default Function
* @type boolean | Function * @type boolean | Function
*/ */
filterTreeNode: boolean | Function; filterTreeNode?: boolean | Function;
/** /**
* To set the container of the dropdown menu. * To set the container of the dropdown menu.
* The default is to create a div element in body, you can reset it to the scrolling area and make a relative reposition. * The default is to create a div element in body, you can reset it to the scrolling area and make a relative reposition.
* @default () => document.body * @default () => document.body
* @type Function * @type Function
*/ */
getPopupContainer: (triggerNode: any) => HTMLElement; getPopupContainer?: (triggerNode: any) => HTMLElement;
/** /**
* whether to embed label in value, turn the format of value from string to {value: string, label: VNode, halfChecked: string[]} * whether to embed label in value, turn the format of value from string to {value: string, label: VNode, halfChecked: string[]}
* @default false * @default false
* @type boolean * @type boolean
*/ */
labelInValue: boolean; labelInValue?: boolean;
/** /**
* Load data asynchronously. * Load data asynchronously.
* @type * @param node
*/ */
loadData: (node: any) => void; loadData?: (node: object) => Promise<void>;
maxTagCount: number; /**
* Max tag count to show
*/
maxTagCount?: number;
maxTagPlaceholder: any; /**
* Placeholder for not showing tags
* @param omittedValues
*/
maxTagPlaceholder?: (omittedValues: any[]) => VNodeChild | JSX.Element;
/** /**
* Support multiple or not, will be true when enable treeCheckable. * Support multiple or not, will be true when enable treeCheckable.
* @default false * @default false
* @type boolean * @type boolean
*/ */
multiple: boolean; multiple?: boolean;
/** /**
* Placeholder of the select input * Placeholder of the select input
* @type any (string | slot) * @type any (string | slot)
*/ */
placeholder: any; placeholder?: string | VNodeChild | JSX.Element;
/** /**
* Placeholder of the search input * Placeholder of the search input
* @type any (string | slot) * @type any (string | slot)
*/ */
searchPlaceholder: any; searchPlaceholder?: string | VNodeChild | JSX.Element;
/** /**
* work with `search` event to make search value controlled. * work with `search` event to make search value controlled.
* @type string * @type string
*/ */
searchValue: string; searchValue?: string;
/** /**
* Show Checked Strategy * Show Checked Strategy
* @description The way show selected item in box. Default: just show child nodes. * @description The way show selected item in box. Default: just show child nodes.
* TreeSelect.SHOW_ALL: show all checked treeNodes (include parent treeNode). * TreeSelect.SHOW_ALL: show all checked treeNodes (include parent treeNode).
* TreeSelect.SHOW_PARENT: show checked treeNodes (just show parent treeNode). * TreeSelect.SHOW_PARENT: show checked treeNodes (just show parent treeNode).
* @default TreeSelect.SHOW_CHILD * @default TreeSelect.SHOW_CHILD
* @type * @type TreeSelect ENUMS
*/ */
showCheckedStrategy: 'SHOW_ALL' | 'SHOW_PARENT' | 'SHOW_CHILD'; showCheckedStrategy?: 'SHOW_ALL' | 'SHOW_PARENT' | 'SHOW_CHILD';
/** /**
* Whether to display a search input in the dropdown menu(valid only in the single mode) * Whether to display a search input in the dropdown menu(valid only in the single mode)
* @default false * @default false
* @type boolean * @type boolean
*/ */
showSearch: boolean; showSearch?: boolean;
/** /**
* To set the size of the select input, options: large small * To set the size of the select input, options: large small
* @default 'default' * @default 'default'
* @type string * @type string
*/ */
size: 'small' | 'large' | 'default'; size?: 'small' | 'large' | 'default';
/** /**
* Whether to show checkbox on the treeNodes * Whether to show checkbox on the treeNodes
* @default false * @default false
* @type boolean * @type boolean
*/ */
treeCheckable: boolean; treeCheckable?: boolean;
/** /**
* Whether to check nodes precisely (in the checkable mode), means parent and * Whether to check nodes precisely (in the checkable mode), means parent and
* child nodes are not associated, and it will make labelInValue be true * child nodes are not associated, and it will make labelInValue be true
* @default false * @default false
* @type boolean * @type boolean
*/ */
treeCheckStrictly: boolean; treeCheckStrictly?: boolean;
/** /**
* Data of the treeNodes, manual construction work is no longer needed * Data of the treeNodes, manual construction work is no longer needed
* if this property has been set(ensure the Uniqueness of each value) * if this property has been set(ensure the Uniqueness of each value)
* @default [] * @default []
* @type object[] * @type object[]
*/ */
treeData: TreeData[]; treeData?: TreeData[];
/** /**
* Enable simple mode of treeData. * Enable simple mode of treeData.
* (treeData should like this: [{id:1, pId:0, value:'1', label:"test1",...},...], pId is parent node's id) * (treeData should like this: [{id:1, pId:0, value:'1', label:"test1",...},...], pId is parent node's id)
* @default false * @default false
* @type boolean | object[] * @type boolean | object[]
*/ */
treeDataSimpleMode: treeDataSimpleMode?:
| boolean | boolean
| Array<{ | Array<{
id: string; id: string;
pId: string; pId: string;
rootPId: any; rootPId: any;
}>; }>;
/** /**
* Whether to expand all treeNodes by default * Whether to expand all treeNodes by default
* @default false * @default false
* @type boolean * @type boolean
*/ */
treeDefaultExpandAll: boolean; treeDefaultExpandAll?: boolean;
/** /**
* Default expanded treeNodes * Default expanded treeNodes
* @type string[] | number[] * @type string[] | number[]
*/ */
treeDefaultExpandedKeys: string[] | number[]; treeDefaultExpandedKeys?: string[] | number[];
/** /**
* Set expanded keys * Set expanded keys
* @type string[] | number[] * @type string[] | number[]
*/ */
treeExpandedKeys: string[] | number[]; treeExpandedKeys?: string[] | number[];
/** /**
* Will be used for filtering if filterTreeNode returns true * Will be used for filtering if filterTreeNode returns true
* @default 'value' * @default 'value'
* @type string * @type string
*/ */
treeNodeFilterProp: string; treeNodeFilterProp?: string;
/** /**
* Will render as content of select * Will render as content of select
* @default 'title' * @default 'title'
* @type string * @type string
*/ */
treeNodeLabelProp: string; treeNodeLabelProp?: string;
value: TreeNodeValue; value?: TreeNodeValue;
/** /**
* The custom suffix icon * The custom suffix icon
* @type any (VNode | slot) * @type any (VNode | slot)
*/ */
suffixIcon: any; suffixIcon?: VNodeChild | JSX.Element;
removeIcon?: any; removeIcon?: VNodeChild | JSX.Element;
clearIcon?: any; clearIcon?: VNodeChild | JSX.Element;
replaceFields: object; replaceFields?: ReplaceFields | object;
/**
* A callback function, can be executed when selected treeNodes or input value change
*
* @param value
* @param label
* @param extra
*/
onChange?: (value?: any, label?: any, extra?: any) => void;
/**
* A callback function, can be executed when the search input changes.
* @param value
*/
onSearch?: (value?: string) => void;
/**
* A callback function, can be executed when you select a treeNode.
* @param value
* @param label
* @param extra
*/
onSelect?: (value?: any, label?: any, extra?: any) => void;
/**
* A callback function, can be executed when treeNode expanded
* @param expandedKeys
*/
onTreeExpand?: (expandedKeys?: any[]) => void;
};
/** /**
* remove focus * remove focus