You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
223 lines
4.9 KiB
223 lines
4.9 KiB
// Project: https://github.com/vueComponent/ant-design-vue
|
|
// Definitions by: akki-jat <https://github.com/akki-jat>
|
|
// Definitions: https://github.com/vueComponent/ant-design-vue/types
|
|
|
|
import { AntdComponent } from './component';
|
|
import { TreeNode } from './tree-node';
|
|
|
|
export interface TreeData {
|
|
key: string | number;
|
|
value: string;
|
|
label: any;
|
|
children: any;
|
|
disabled?: boolean;
|
|
disableCheckbox?: boolean;
|
|
selectable?: boolean;
|
|
}
|
|
|
|
export declare class TreeSelect extends AntdComponent {
|
|
static TreeNode: typeof TreeNode;
|
|
|
|
/**
|
|
* Whether allow clear
|
|
* @default false
|
|
* @type boolean
|
|
*/
|
|
allowClear: boolean;
|
|
|
|
/**
|
|
* To set the initial selected treeNode(s).
|
|
* @type string | string[]
|
|
*/
|
|
defaultValue: string | string[];
|
|
|
|
/**
|
|
* Disabled or not
|
|
* @default false
|
|
* @type boolean
|
|
*/
|
|
disabled: boolean;
|
|
|
|
/**
|
|
* className of dropdown menu
|
|
* @type string
|
|
*/
|
|
dropdownClassName: string;
|
|
|
|
/**
|
|
* Determine whether the dropdown menu and the select input are the same width
|
|
* @default true
|
|
* @type boolean
|
|
*/
|
|
dropdownMatchSelectWidth: boolean;
|
|
|
|
/**
|
|
* To set the style of the dropdown menu
|
|
* @type object
|
|
*/
|
|
dropdownStyle: object;
|
|
|
|
/**
|
|
* Whether to filter treeNodes by input value. The value of treeNodeFilterProp is used for filtering by default.
|
|
* @default Function
|
|
* @type boolean | Function
|
|
*/
|
|
filterTreeNode: boolean | Function;
|
|
|
|
/**
|
|
* 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.
|
|
* @default () => document.body
|
|
* @type Function
|
|
*/
|
|
getPopupContainer: (triggerNode: any) => HTMLElement;
|
|
|
|
/**
|
|
* whether to embed label in value, turn the format of value from string to {value: string, label: VNode, halfChecked: string[]}
|
|
* @default false
|
|
* @type boolean
|
|
*/
|
|
labelInValue: boolean;
|
|
|
|
/**
|
|
* Load data asynchronously.
|
|
* @type
|
|
*/
|
|
loadData: (node: any) => void;
|
|
|
|
/**
|
|
* Support multiple or not, will be true when enable treeCheckable.
|
|
* @default false
|
|
* @type boolean
|
|
*/
|
|
multiple: boolean;
|
|
|
|
/**
|
|
* Placeholder of the select input
|
|
* @type any (string | slot)
|
|
*/
|
|
placeholder: any;
|
|
|
|
/**
|
|
* Placeholder of the search input
|
|
* @type any (string | slot)
|
|
*/
|
|
searchPlaceholder: any;
|
|
|
|
/**
|
|
* work with `search` event to make search value controlled.
|
|
* @type string
|
|
*/
|
|
searchValue: string;
|
|
|
|
/**
|
|
* Show Checked Strategy
|
|
* @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_PARENT: show checked treeNodes (just show parent treeNode).
|
|
* @default TreeSelect.SHOW_CHILD
|
|
* @type
|
|
*/
|
|
showCheckedStrategy: 'SHOW_ALL' | 'SHOW_PARENT' | 'SHOW_CHILD';
|
|
|
|
/**
|
|
* Whether to display a search input in the dropdown menu(valid only in the single mode)
|
|
* @default false
|
|
* @type boolean
|
|
*/
|
|
showSearch: boolean;
|
|
|
|
/**
|
|
* To set the size of the select input, options: large small
|
|
* @default 'default'
|
|
* @type string
|
|
*/
|
|
size: 'small' | 'large' | 'default';
|
|
|
|
/**
|
|
* Whether to show checkbox on the treeNodes
|
|
* @default false
|
|
* @type boolean
|
|
*/
|
|
treeCheckable: boolean;
|
|
|
|
/**
|
|
* Whether to check nodes precisely (in the checkable mode), means parent and
|
|
* child nodes are not associated, and it will make labelInValue be true
|
|
* @default false
|
|
* @type boolean
|
|
*/
|
|
treeCheckStrictly: boolean;
|
|
|
|
/**
|
|
* Data of the treeNodes, manual construction work is no longer needed
|
|
* if this property has been set(ensure the Uniqueness of each value)
|
|
* @default []
|
|
* @type object[]
|
|
*/
|
|
treeData: TreeData[];
|
|
|
|
/**
|
|
* Enable simple mode of treeData.
|
|
* (treeData should like this: [{id:1, pId:0, value:'1', label:"test1",...},...], pId is parent node's id)
|
|
* @default false
|
|
* @type boolean | object[]
|
|
*/
|
|
treeDataSimpleMode: boolean | Array<{ id: string; pId: string; rootPId: any }>;
|
|
|
|
/**
|
|
* Whether to expand all treeNodes by default
|
|
* @default false
|
|
* @type boolean
|
|
*/
|
|
treeDefaultExpandAll: boolean;
|
|
|
|
/**
|
|
* Default expanded treeNodes
|
|
* @type string[] | number[]
|
|
*/
|
|
treeDefaultExpandedKeys: string[] | number[];
|
|
|
|
/**
|
|
* Set expanded keys
|
|
* @type string[] | number[]
|
|
*/
|
|
treeExpandedKeys: string[] | number[];
|
|
|
|
/**
|
|
* Will be used for filtering if filterTreeNode returns true
|
|
* @default 'value'
|
|
* @type string
|
|
*/
|
|
treeNodeFilterProp: string;
|
|
|
|
/**
|
|
* Will render as content of select
|
|
* @default 'title'
|
|
* @type string
|
|
*/
|
|
treeNodeLabelProp: string;
|
|
|
|
/**
|
|
* To set the current selected treeNode(s).
|
|
* @type string | string[]
|
|
*/
|
|
value: string | string[];
|
|
|
|
/**
|
|
* The custom suffix icon
|
|
* @type any (VNode | slot)
|
|
*/
|
|
suffixIcon: any;
|
|
|
|
/**
|
|
* remove focus
|
|
*/
|
|
blur(): void;
|
|
|
|
/**
|
|
* get focus
|
|
*/
|
|
focus(): void;
|
|
}
|