123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701 |
- import type { CheckedStrategy } from './utils/strategyUtil';
- import type { Key } from './interface';
- import type { DisplayValueType } from '../vc-select/BaseSelect';
- import type { ExtractPropTypes, PropType } from 'vue';
- import type { VueNode } from '../_util/type';
- export declare type OnInternalSelect = (value: RawValueType, info: {
- selected: boolean;
- }) => void;
- export declare type RawValueType = string | number;
- export interface LabeledValueType {
- key?: Key;
- value?: RawValueType;
- label?: any;
- /** Only works on `treeCheckStrictly` */
- halfChecked?: boolean;
- }
- export declare type SelectSource = 'option' | 'selection' | 'input' | 'clear';
- export declare type DraftValueType = RawValueType | LabeledValueType | (RawValueType | LabeledValueType)[];
- /** @deprecated This is only used for legacy compatible. Not works on new code. */
- export interface LegacyCheckedNode {
- pos: string;
- node: any;
- children?: LegacyCheckedNode[];
- }
- export interface ChangeEventExtra {
- /** @deprecated Please save prev value by control logic instead */
- preValue: LabeledValueType[];
- triggerValue: RawValueType;
- /** @deprecated Use `onSelect` or `onDeselect` instead. */
- selected?: boolean;
- /** @deprecated Use `onSelect` or `onDeselect` instead. */
- checked?: boolean;
- /** @deprecated This prop not work as react node anymore. */
- triggerNode: any;
- /** @deprecated This prop not work as react node anymore. */
- allCheckedNodes: LegacyCheckedNode[];
- }
- export interface FieldNames {
- value?: string;
- label?: string;
- children?: string;
- }
- export interface InternalFieldName extends Omit<FieldNames, 'label'> {
- _title: string[];
- }
- export interface SimpleModeConfig {
- id?: Key;
- pId?: Key;
- rootPId?: Key;
- }
- export interface BaseOptionType {
- disabled?: boolean;
- checkable?: boolean;
- disableCheckbox?: boolean;
- children?: BaseOptionType[];
- [name: string]: any;
- }
- export interface DefaultOptionType extends BaseOptionType {
- value?: RawValueType;
- title?: any;
- label?: any;
- key?: Key;
- children?: DefaultOptionType[];
- }
- export interface LegacyDataNode extends DefaultOptionType {
- props: any;
- }
- export declare function treeSelectProps<ValueType = any, OptionType extends BaseOptionType = DefaultOptionType>(): {
- prefixCls: StringConstructor;
- id: StringConstructor;
- value: {
- type: PropType<ValueType>;
- };
- defaultValue: {
- type: PropType<ValueType>;
- };
- onChange: {
- type: PropType<(value: ValueType, labelList: any[], extra: ChangeEventExtra) => void>;
- };
- searchValue: StringConstructor;
- /** @deprecated Use `searchValue` instead */
- inputValue: StringConstructor;
- onSearch: {
- type: PropType<(value: string) => void>;
- };
- autoClearSearchValue: {
- type: BooleanConstructor;
- default: any;
- };
- filterTreeNode: {
- type: PropType<boolean | ((inputValue: string, treeNode: DefaultOptionType) => boolean)>;
- default: any;
- };
- treeNodeFilterProp: StringConstructor;
- onSelect: PropType<import("../vc-select/Select").SelectHandler<unknown, import("../select").BaseOptionType>>;
- onDeselect: PropType<import("../vc-select/Select").SelectHandler<unknown, import("../select").BaseOptionType>>;
- showCheckedStrategy: {
- type: PropType<CheckedStrategy>;
- };
- treeNodeLabelProp: StringConstructor;
- fieldNames: {
- type: PropType<FieldNames>;
- };
- multiple: {
- type: BooleanConstructor;
- default: any;
- };
- treeCheckable: {
- type: BooleanConstructor;
- default: any;
- };
- treeCheckStrictly: {
- type: BooleanConstructor;
- default: any;
- };
- labelInValue: {
- type: BooleanConstructor;
- default: any;
- };
- treeData: {
- type: PropType<OptionType[]>;
- };
- treeDataSimpleMode: {
- type: PropType<boolean | SimpleModeConfig>;
- default: any;
- };
- loadData: {
- type: PropType<(dataNode: LegacyDataNode) => Promise<unknown>>;
- };
- treeLoadedKeys: {
- type: PropType<Key[]>;
- };
- onTreeLoad: {
- type: PropType<(loadedKeys: Key[]) => void>;
- };
- treeDefaultExpandAll: {
- type: BooleanConstructor;
- default: any;
- };
- treeExpandedKeys: {
- type: PropType<Key[]>;
- };
- treeDefaultExpandedKeys: {
- type: PropType<Key[]>;
- };
- onTreeExpand: {
- type: PropType<(expandedKeys: Key[]) => void>;
- };
- virtual: {
- type: BooleanConstructor;
- default: any;
- };
- listHeight: NumberConstructor;
- listItemHeight: NumberConstructor;
- onDropdownVisibleChange: {
- type: PropType<(open: boolean) => void>;
- };
- treeLine: {
- type: (ObjectConstructor | BooleanConstructor)[];
- default: any;
- };
- treeIcon: import("vue-types").VueTypeValidableDef<any>;
- showTreeIcon: {
- type: BooleanConstructor;
- default: any;
- };
- switcherIcon: import("vue-types").VueTypeValidableDef<any>;
- treeMotion: import("vue-types").VueTypeValidableDef<any>;
- children: PropType<VueNode[]>;
- showArrow: {
- type: BooleanConstructor;
- default: any;
- };
- showSearch: {
- type: BooleanConstructor;
- default: any;
- };
- open: {
- type: BooleanConstructor;
- default: any;
- };
- defaultOpen: {
- type: BooleanConstructor;
- default: any;
- };
- disabled: {
- type: BooleanConstructor;
- default: any;
- };
- placeholder: import("vue-types").VueTypeValidableDef<any>;
- maxTagPlaceholder: {
- type: PropType<(omittedValues: DisplayValueType[]) => any>;
- };
- dropdownPopupAlign: import("vue-types").VueTypeValidableDef<any>;
- customSlots: ObjectConstructor;
- onFocus: {
- type: PropType<(e: FocusEvent) => void>;
- };
- onBlur: {
- type: PropType<(e: FocusEvent) => void>;
- };
- onKeydown: PropType<(e: KeyboardEvent) => void>;
- onKeyup: PropType<(e: KeyboardEvent) => void>;
- onClick: PropType<(e: MouseEvent) => void>;
- onMousedown: PropType<(e: MouseEvent) => void>;
- onMouseenter: PropType<(e: MouseEvent) => void>;
- onMouseleave: PropType<(e: MouseEvent) => void>;
- direction: {
- type: PropType<"ltr" | "rtl">;
- };
- animation: StringConstructor;
- tabindex: NumberConstructor;
- getPopupContainer: {
- type: PropType<import("../vc-select/BaseSelect").RenderDOMFunc>;
- };
- dropdownMatchSelectWidth: {
- type: PropType<number | boolean>;
- default: any;
- };
- transitionName: StringConstructor;
- showAction: {
- type: PropType<("click" | "focus")[]>;
- };
- placement: {
- type: PropType<import("../vc-select/BaseSelect").Placement>;
- };
- autofocus: BooleanConstructor;
- dropdownStyle: {
- type: PropType<import("vue").CSSProperties>;
- };
- dropdownClassName: StringConstructor;
- dropdownRender: {
- type: PropType<import("../vc-select/BaseSelect").DropdownRender>;
- };
- dropdownAlign: PropType<import("../vc-trigger/interface").AlignType>;
- loading: {
- type: BooleanConstructor;
- default: any;
- };
- onInputKeyDown: PropType<(e: KeyboardEvent) => void>;
- removeIcon: import("vue-types").VueTypeValidableDef<any>;
- maxTagCount: {
- type: PropType<number | "responsive">;
- };
- maxTagTextLength: NumberConstructor;
- tokenSeparators: {
- type: PropType<string[]>;
- };
- tagRender: {
- type: PropType<(props: import("../vc-select/BaseSelect").CustomTagProps) => any>;
- };
- choiceTransitionName: StringConstructor;
- optionLabelRender: {
- type: PropType<(option: Record<string, any>) => any>;
- };
- notFoundContent: import("vue-types").VueTypeValidableDef<any>;
- onClear: PropType<() => void>;
- getInputElement: {
- type: PropType<() => any>;
- };
- getRawInputElement: {
- type: PropType<() => any>;
- };
- allowClear: {
- type: BooleanConstructor;
- default: any;
- };
- inputIcon: import("vue-types").VueTypeValidableDef<any>;
- clearIcon: import("vue-types").VueTypeValidableDef<any>;
- onPopupScroll: PropType<(e: UIEvent) => void>;
- };
- export declare type TreeSelectProps = Partial<ExtractPropTypes<ReturnType<typeof treeSelectProps>>>;
- declare const _default: import("vue").DefineComponent<{
- prefixCls: StringConstructor;
- id: StringConstructor;
- value: {
- type: PropType<any>;
- };
- defaultValue: {
- type: PropType<any>;
- };
- onChange: {
- type: PropType<(value: any, labelList: any[], extra: ChangeEventExtra) => void>;
- };
- searchValue: StringConstructor;
- /** @deprecated Use `searchValue` instead */
- inputValue: StringConstructor;
- onSearch: {
- type: PropType<(value: string) => void>;
- };
- autoClearSearchValue: {
- type: BooleanConstructor;
- default: any;
- };
- filterTreeNode: {
- type: PropType<boolean | ((inputValue: string, treeNode: DefaultOptionType) => boolean)>;
- default: any;
- };
- treeNodeFilterProp: StringConstructor;
- onSelect: PropType<import("../vc-select/Select").SelectHandler<unknown, import("../select").BaseOptionType>>;
- onDeselect: PropType<import("../vc-select/Select").SelectHandler<unknown, import("../select").BaseOptionType>>;
- showCheckedStrategy: {
- type: PropType<CheckedStrategy>;
- };
- treeNodeLabelProp: StringConstructor;
- fieldNames: {
- type: PropType<FieldNames>;
- };
- multiple: {
- type: BooleanConstructor;
- default: any;
- };
- treeCheckable: {
- type: BooleanConstructor;
- default: any;
- };
- treeCheckStrictly: {
- type: BooleanConstructor;
- default: any;
- };
- labelInValue: {
- type: BooleanConstructor;
- default: any;
- };
- treeData: {
- type: PropType<DefaultOptionType[]>;
- };
- treeDataSimpleMode: {
- type: PropType<boolean | SimpleModeConfig>;
- default: any;
- };
- loadData: {
- type: PropType<(dataNode: LegacyDataNode) => Promise<unknown>>;
- };
- treeLoadedKeys: {
- type: PropType<Key[]>;
- };
- onTreeLoad: {
- type: PropType<(loadedKeys: Key[]) => void>;
- };
- treeDefaultExpandAll: {
- type: BooleanConstructor;
- default: any;
- };
- treeExpandedKeys: {
- type: PropType<Key[]>;
- };
- treeDefaultExpandedKeys: {
- type: PropType<Key[]>;
- };
- onTreeExpand: {
- type: PropType<(expandedKeys: Key[]) => void>;
- };
- virtual: {
- type: BooleanConstructor;
- default: any;
- };
- listHeight: NumberConstructor;
- listItemHeight: NumberConstructor;
- onDropdownVisibleChange: {
- type: PropType<(open: boolean) => void>;
- };
- treeLine: {
- type: (ObjectConstructor | BooleanConstructor)[];
- default: any;
- };
- treeIcon: import("vue-types").VueTypeValidableDef<any>;
- showTreeIcon: {
- type: BooleanConstructor;
- default: any;
- };
- switcherIcon: import("vue-types").VueTypeValidableDef<any>;
- treeMotion: import("vue-types").VueTypeValidableDef<any>;
- children: PropType<VueNode[]>;
- showArrow: {
- type: BooleanConstructor;
- default: any;
- };
- showSearch: {
- type: BooleanConstructor;
- default: any;
- };
- open: {
- type: BooleanConstructor;
- default: any;
- };
- defaultOpen: {
- type: BooleanConstructor;
- default: any;
- };
- disabled: {
- type: BooleanConstructor;
- default: any;
- };
- placeholder: import("vue-types").VueTypeValidableDef<any>;
- maxTagPlaceholder: {
- type: PropType<(omittedValues: DisplayValueType[]) => any>;
- };
- dropdownPopupAlign: import("vue-types").VueTypeValidableDef<any>;
- customSlots: ObjectConstructor;
- onFocus: {
- type: PropType<(e: FocusEvent) => void>;
- };
- onBlur: {
- type: PropType<(e: FocusEvent) => void>;
- };
- onKeydown: PropType<(e: KeyboardEvent) => void>;
- onKeyup: PropType<(e: KeyboardEvent) => void>;
- onClick: PropType<(e: MouseEvent) => void>;
- onMousedown: PropType<(e: MouseEvent) => void>;
- onMouseenter: PropType<(e: MouseEvent) => void>;
- onMouseleave: PropType<(e: MouseEvent) => void>;
- direction: {
- type: PropType<"ltr" | "rtl">;
- };
- animation: StringConstructor;
- tabindex: NumberConstructor;
- getPopupContainer: {
- type: PropType<import("../vc-select/BaseSelect").RenderDOMFunc>;
- };
- dropdownMatchSelectWidth: {
- type: PropType<number | boolean>;
- default: any;
- };
- transitionName: StringConstructor;
- showAction: {
- type: PropType<("click" | "focus")[]>;
- };
- placement: {
- type: PropType<import("../vc-select/BaseSelect").Placement>;
- };
- autofocus: BooleanConstructor;
- dropdownStyle: {
- type: PropType<import("vue").CSSProperties>;
- };
- dropdownClassName: StringConstructor;
- dropdownRender: {
- type: PropType<import("../vc-select/BaseSelect").DropdownRender>;
- };
- dropdownAlign: PropType<import("../vc-trigger/interface").AlignType>;
- loading: {
- type: BooleanConstructor;
- default: any;
- };
- onInputKeyDown: PropType<(e: KeyboardEvent) => void>;
- removeIcon: import("vue-types").VueTypeValidableDef<any>;
- maxTagCount: {
- type: PropType<number | "responsive">;
- };
- maxTagTextLength: NumberConstructor;
- tokenSeparators: {
- type: PropType<string[]>;
- };
- tagRender: {
- type: PropType<(props: import("../vc-select/BaseSelect").CustomTagProps) => any>;
- };
- choiceTransitionName: StringConstructor;
- optionLabelRender: {
- type: PropType<(option: Record<string, any>) => any>;
- };
- notFoundContent: import("vue-types").VueTypeValidableDef<any>;
- onClear: PropType<() => void>;
- getInputElement: {
- type: PropType<() => any>;
- };
- getRawInputElement: {
- type: PropType<() => any>;
- };
- allowClear: {
- type: BooleanConstructor;
- default: any;
- };
- inputIcon: import("vue-types").VueTypeValidableDef<any>;
- clearIcon: import("vue-types").VueTypeValidableDef<any>;
- onPopupScroll: PropType<(e: UIEvent) => void>;
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
- prefixCls: StringConstructor;
- id: StringConstructor;
- value: {
- type: PropType<any>;
- };
- defaultValue: {
- type: PropType<any>;
- };
- onChange: {
- type: PropType<(value: any, labelList: any[], extra: ChangeEventExtra) => void>;
- };
- searchValue: StringConstructor;
- /** @deprecated Use `searchValue` instead */
- inputValue: StringConstructor;
- onSearch: {
- type: PropType<(value: string) => void>;
- };
- autoClearSearchValue: {
- type: BooleanConstructor;
- default: any;
- };
- filterTreeNode: {
- type: PropType<boolean | ((inputValue: string, treeNode: DefaultOptionType) => boolean)>;
- default: any;
- };
- treeNodeFilterProp: StringConstructor;
- onSelect: PropType<import("../vc-select/Select").SelectHandler<unknown, import("../select").BaseOptionType>>;
- onDeselect: PropType<import("../vc-select/Select").SelectHandler<unknown, import("../select").BaseOptionType>>;
- showCheckedStrategy: {
- type: PropType<CheckedStrategy>;
- };
- treeNodeLabelProp: StringConstructor;
- fieldNames: {
- type: PropType<FieldNames>;
- };
- multiple: {
- type: BooleanConstructor;
- default: any;
- };
- treeCheckable: {
- type: BooleanConstructor;
- default: any;
- };
- treeCheckStrictly: {
- type: BooleanConstructor;
- default: any;
- };
- labelInValue: {
- type: BooleanConstructor;
- default: any;
- };
- treeData: {
- type: PropType<DefaultOptionType[]>;
- };
- treeDataSimpleMode: {
- type: PropType<boolean | SimpleModeConfig>;
- default: any;
- };
- loadData: {
- type: PropType<(dataNode: LegacyDataNode) => Promise<unknown>>;
- };
- treeLoadedKeys: {
- type: PropType<Key[]>;
- };
- onTreeLoad: {
- type: PropType<(loadedKeys: Key[]) => void>;
- };
- treeDefaultExpandAll: {
- type: BooleanConstructor;
- default: any;
- };
- treeExpandedKeys: {
- type: PropType<Key[]>;
- };
- treeDefaultExpandedKeys: {
- type: PropType<Key[]>;
- };
- onTreeExpand: {
- type: PropType<(expandedKeys: Key[]) => void>;
- };
- virtual: {
- type: BooleanConstructor;
- default: any;
- };
- listHeight: NumberConstructor;
- listItemHeight: NumberConstructor;
- onDropdownVisibleChange: {
- type: PropType<(open: boolean) => void>;
- };
- treeLine: {
- type: (ObjectConstructor | BooleanConstructor)[];
- default: any;
- };
- treeIcon: import("vue-types").VueTypeValidableDef<any>;
- showTreeIcon: {
- type: BooleanConstructor;
- default: any;
- };
- switcherIcon: import("vue-types").VueTypeValidableDef<any>;
- treeMotion: import("vue-types").VueTypeValidableDef<any>;
- children: PropType<VueNode[]>;
- showArrow: {
- type: BooleanConstructor;
- default: any;
- };
- showSearch: {
- type: BooleanConstructor;
- default: any;
- };
- open: {
- type: BooleanConstructor;
- default: any;
- };
- defaultOpen: {
- type: BooleanConstructor;
- default: any;
- };
- disabled: {
- type: BooleanConstructor;
- default: any;
- };
- placeholder: import("vue-types").VueTypeValidableDef<any>;
- maxTagPlaceholder: {
- type: PropType<(omittedValues: DisplayValueType[]) => any>;
- };
- dropdownPopupAlign: import("vue-types").VueTypeValidableDef<any>;
- customSlots: ObjectConstructor;
- onFocus: {
- type: PropType<(e: FocusEvent) => void>;
- };
- onBlur: {
- type: PropType<(e: FocusEvent) => void>;
- };
- onKeydown: PropType<(e: KeyboardEvent) => void>;
- onKeyup: PropType<(e: KeyboardEvent) => void>;
- onClick: PropType<(e: MouseEvent) => void>;
- onMousedown: PropType<(e: MouseEvent) => void>;
- onMouseenter: PropType<(e: MouseEvent) => void>;
- onMouseleave: PropType<(e: MouseEvent) => void>;
- direction: {
- type: PropType<"ltr" | "rtl">;
- };
- animation: StringConstructor;
- tabindex: NumberConstructor;
- getPopupContainer: {
- type: PropType<import("../vc-select/BaseSelect").RenderDOMFunc>;
- };
- dropdownMatchSelectWidth: {
- type: PropType<number | boolean>;
- default: any;
- };
- transitionName: StringConstructor;
- showAction: {
- type: PropType<("click" | "focus")[]>;
- };
- placement: {
- type: PropType<import("../vc-select/BaseSelect").Placement>;
- };
- autofocus: BooleanConstructor;
- dropdownStyle: {
- type: PropType<import("vue").CSSProperties>;
- };
- dropdownClassName: StringConstructor;
- dropdownRender: {
- type: PropType<import("../vc-select/BaseSelect").DropdownRender>;
- };
- dropdownAlign: PropType<import("../vc-trigger/interface").AlignType>;
- loading: {
- type: BooleanConstructor;
- default: any;
- };
- onInputKeyDown: PropType<(e: KeyboardEvent) => void>;
- removeIcon: import("vue-types").VueTypeValidableDef<any>;
- maxTagCount: {
- type: PropType<number | "responsive">;
- };
- maxTagTextLength: NumberConstructor;
- tokenSeparators: {
- type: PropType<string[]>;
- };
- tagRender: {
- type: PropType<(props: import("../vc-select/BaseSelect").CustomTagProps) => any>;
- };
- choiceTransitionName: StringConstructor;
- optionLabelRender: {
- type: PropType<(option: Record<string, any>) => any>;
- };
- notFoundContent: import("vue-types").VueTypeValidableDef<any>;
- onClear: PropType<() => void>;
- getInputElement: {
- type: PropType<() => any>;
- };
- getRawInputElement: {
- type: PropType<() => any>;
- };
- allowClear: {
- type: BooleanConstructor;
- default: any;
- };
- inputIcon: import("vue-types").VueTypeValidableDef<any>;
- clearIcon: import("vue-types").VueTypeValidableDef<any>;
- onPopupScroll: PropType<(e: UIEvent) => void>;
- }>>, {
- open: boolean;
- multiple: boolean;
- disabled: boolean;
- virtual: boolean;
- dropdownMatchSelectWidth: number | boolean;
- autofocus: boolean;
- loading: boolean;
- filterTreeNode: boolean | ((inputValue: string, treeNode: DefaultOptionType) => boolean);
- treeCheckable: boolean;
- showSearch: boolean;
- defaultOpen: boolean;
- allowClear: boolean;
- showArrow: boolean;
- autoClearSearchValue: boolean;
- labelInValue: boolean;
- treeDefaultExpandAll: boolean;
- showTreeIcon: boolean;
- treeLine: boolean | Record<string, any>;
- treeCheckStrictly: boolean;
- treeDataSimpleMode: any;
- }>;
- export default _default;
|