@aplus-frontend/ui
Version:
907 lines (906 loc) • 33.8 kB
TypeScript
import { DefaultOptionType, SelectValue, LabeledValue } from '@aplus-frontend/antdv/es/select';
import { ApFieldSelectProps } from '../interface';
import { CreateComponentPublicInstanceWithMixins, ExtractPropTypes, PropType, CSSProperties, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, DefineComponent } from 'vue';
import { VueTypeValidableDef } from '../../../node_modules/vue-types';
import { ButtonSize } from '@aplus-frontend/antdv/es/button';
import { VueNode, CustomSlotsType } from '@aplus-frontend/antdv/es/_util/type';
import { SelectHandler, FieldNames, FilterFunc } from '@aplus-frontend/antdv/es/vc-select/Select';
import { RenderDOMFunc, CustomTagProps, DropdownRender } from '@aplus-frontend/antdv/es/vc-select/BaseSelect';
import { AlignType } from '@aplus-frontend/antdv/es/vc-trigger/interface';
import { FieldMode } from '..';
type ApFieldSelectSlots = {
notFoundContent: any;
suffixIcon: any;
itemIcon: any;
removeIcon: any;
clearIcon: any;
dropdownRender: any;
option: any;
placeholder: any;
tagRender: any;
maxTagPlaceholder: any;
optionLabel: any;
default: any;
};
declare function __VLS_template(): {
attrs: Partial<{}>;
slots: Readonly<ApFieldSelectSlots> & ApFieldSelectSlots;
refs: {
selectRef: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
value: {
type: PropType<SelectValue>;
default: SelectValue;
};
defaultValue: {
type: PropType<SelectValue>;
default: SelectValue;
};
notFoundContent: VueTypeValidableDef<any>;
suffixIcon: VueTypeValidableDef<any>;
itemIcon: VueTypeValidableDef<any>;
size: {
type: PropType<ButtonSize>;
default: ButtonSize;
};
mode: {
type: PropType<"multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE">;
default: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE";
};
bordered: {
type: BooleanConstructor;
default: boolean;
};
showArrow: {
type: BooleanConstructor;
default: boolean;
};
variant: {
type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
default: "filled" | "outlined" | "borderless" | "underlined";
};
maxCount: NumberConstructor;
transitionName: StringConstructor;
choiceTransitionName: {
type: PropType<"">;
default: "";
};
popupClassName: StringConstructor;
dropdownClassName: StringConstructor;
placement: {
type: PropType<"bottomLeft" | "bottomRight" | "topLeft" | "topRight">;
default: "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
};
status: {
type: PropType<"" | "error" | "warning">;
default: "" | "error" | "warning";
};
'onUpdate:value': {
type: PropType<(val: SelectValue) => void>;
default: (val: SelectValue) => void;
};
children: PropType< VueNode[]>;
listHeight: NumberConstructor;
onMouseenter: PropType<(e: MouseEvent) => void>;
onMouseleave: PropType<(e: MouseEvent) => void>;
tabindex: NumberConstructor;
onClick: PropType<(e: MouseEvent) => void>;
onFocus: {
type: PropType<(e: FocusEvent) => void>;
};
onBlur: {
type: PropType<(e: FocusEvent) => void>;
};
onChange: PropType<(value: SelectValue, option: DefaultOptionType | DefaultOptionType[]) => void>;
onKeydown: PropType<(e: KeyboardEvent) => void>;
onKeyup: PropType<(e: KeyboardEvent) => void>;
onMousedown: PropType<(e: MouseEvent) => void>;
onSelect: PropType<SelectHandler<(string | number) | LabeledValue, DefaultOptionType>>;
open: {
type: BooleanConstructor;
default: any;
};
animation: StringConstructor;
direction: {
type: PropType<"rtl" | "ltr">;
};
disabled: {
type: BooleanConstructor;
default: any;
};
prefixCls: StringConstructor;
id: StringConstructor;
autofocus: BooleanConstructor;
getPopupContainer: {
type: PropType<RenderDOMFunc>;
};
virtual: {
type: BooleanConstructor;
default: any;
};
dropdownMatchSelectWidth: {
type: PropType<number | boolean>;
default: any;
};
placeholder: VueTypeValidableDef<any>;
loading: {
type: BooleanConstructor;
default: any;
};
prefix: VueTypeValidableDef<any>;
clearIcon: VueTypeValidableDef<any>;
allowClear: {
type: BooleanConstructor;
default: any;
};
fieldNames: PropType<FieldNames>;
inputValue: StringConstructor;
searchValue: StringConstructor;
onSearch: PropType<(value: string) => void>;
autoClearSearchValue: {
type: BooleanConstructor;
default: any;
};
onDeselect: PropType<SelectHandler<(string | number) | LabeledValue, DefaultOptionType>>;
filterOption: {
type: PropType<boolean | FilterFunc<DefaultOptionType>>;
default: any;
};
filterSort: PropType<(optionA: DefaultOptionType, optionB: DefaultOptionType) => number>;
optionFilterProp: StringConstructor;
optionLabelProp: StringConstructor;
options: PropType<DefaultOptionType[]>;
defaultActiveFirstOption: {
type: BooleanConstructor;
default: any;
};
listItemHeight: NumberConstructor;
onClickOption: PropType<(e: MouseEvent, value: SelectValue, selected: boolean) => boolean | Promise<boolean>>;
menuItemSelectedIcon: VueTypeValidableDef<any>;
labelInValue: {
type: BooleanConstructor;
default: any;
};
showSearch: {
type: BooleanConstructor;
default: any;
};
tagRender: {
type: PropType<(props: CustomTagProps) => any>;
};
optionLabelRender: {
type: PropType<(option: Record<string, any>) => any>;
};
onClear: PropType<() => void>;
defaultOpen: {
type: BooleanConstructor;
default: any;
};
onDropdownVisibleChange: {
type: PropType<(open: boolean) => void>;
};
maxTagTextLength: NumberConstructor;
maxTagCount: {
type: PropType<number | "responsive">;
};
maxTagPlaceholder: VueTypeValidableDef<any>;
tokenSeparators: {
type: PropType<string[]>;
};
removeIcon: VueTypeValidableDef<any>;
dropdownStyle: {
type: PropType<CSSProperties>;
};
dropdownRender: {
type: PropType<DropdownRender>;
};
dropdownAlign: PropType<AlignType>;
showAction: {
type: PropType<("click" | "focus")[]>;
};
onPopupScroll: PropType<(e: UIEvent) => void>;
onInputKeyDown: PropType<(e: KeyboardEvent) => void>;
}>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
size: ButtonSize;
value: SelectValue;
mode: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE";
open: boolean;
disabled: boolean;
autofocus: boolean;
variant: "filled" | "outlined" | "borderless" | "underlined";
virtual: boolean;
dropdownMatchSelectWidth: number | boolean;
loading: boolean;
bordered: boolean;
'onUpdate:value': (val: SelectValue) => void;
status: "" | "error" | "warning";
defaultValue: SelectValue;
allowClear: boolean;
autoClearSearchValue: boolean;
filterOption: boolean | FilterFunc<DefaultOptionType>;
defaultActiveFirstOption: boolean;
labelInValue: boolean;
showSearch: boolean;
choiceTransitionName: "";
defaultOpen: boolean;
placement: "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
showArrow: boolean;
}, true, {}, CustomSlotsType<{
notFoundContent: any;
suffixIcon: any;
itemIcon: any;
removeIcon: any;
clearIcon: any;
dropdownRender: any;
option: any;
placeholder: any;
tagRender: any;
maxTagPlaceholder: any;
optionLabel: any;
default: any;
prefix: any;
}>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly< ExtractPropTypes<{
value: {
type: PropType<SelectValue>;
default: SelectValue;
};
defaultValue: {
type: PropType<SelectValue>;
default: SelectValue;
};
notFoundContent: VueTypeValidableDef<any>;
suffixIcon: VueTypeValidableDef<any>;
itemIcon: VueTypeValidableDef<any>;
size: {
type: PropType<ButtonSize>;
default: ButtonSize;
};
mode: {
type: PropType<"multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE">;
default: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE";
};
bordered: {
type: BooleanConstructor;
default: boolean;
};
showArrow: {
type: BooleanConstructor;
default: boolean;
};
variant: {
type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
default: "filled" | "outlined" | "borderless" | "underlined";
};
maxCount: NumberConstructor;
transitionName: StringConstructor;
choiceTransitionName: {
type: PropType<"">;
default: "";
};
popupClassName: StringConstructor;
dropdownClassName: StringConstructor;
placement: {
type: PropType<"bottomLeft" | "bottomRight" | "topLeft" | "topRight">;
default: "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
};
status: {
type: PropType<"" | "error" | "warning">;
default: "" | "error" | "warning";
};
'onUpdate:value': {
type: PropType<(val: SelectValue) => void>;
default: (val: SelectValue) => void;
};
children: PropType< VueNode[]>;
listHeight: NumberConstructor;
onMouseenter: PropType<(e: MouseEvent) => void>;
onMouseleave: PropType<(e: MouseEvent) => void>;
tabindex: NumberConstructor;
onClick: PropType<(e: MouseEvent) => void>;
onFocus: {
type: PropType<(e: FocusEvent) => void>;
};
onBlur: {
type: PropType<(e: FocusEvent) => void>;
};
onChange: PropType<(value: SelectValue, option: DefaultOptionType | DefaultOptionType[]) => void>;
onKeydown: PropType<(e: KeyboardEvent) => void>;
onKeyup: PropType<(e: KeyboardEvent) => void>;
onMousedown: PropType<(e: MouseEvent) => void>;
onSelect: PropType<SelectHandler<(string | number) | LabeledValue, DefaultOptionType>>;
open: {
type: BooleanConstructor;
default: any;
};
animation: StringConstructor;
direction: {
type: PropType<"rtl" | "ltr">;
};
disabled: {
type: BooleanConstructor;
default: any;
};
prefixCls: StringConstructor;
id: StringConstructor;
autofocus: BooleanConstructor;
getPopupContainer: {
type: PropType<RenderDOMFunc>;
};
virtual: {
type: BooleanConstructor;
default: any;
};
dropdownMatchSelectWidth: {
type: PropType<number | boolean>;
default: any;
};
placeholder: VueTypeValidableDef<any>;
loading: {
type: BooleanConstructor;
default: any;
};
prefix: VueTypeValidableDef<any>;
clearIcon: VueTypeValidableDef<any>;
allowClear: {
type: BooleanConstructor;
default: any;
};
fieldNames: PropType<FieldNames>;
inputValue: StringConstructor;
searchValue: StringConstructor;
onSearch: PropType<(value: string) => void>;
autoClearSearchValue: {
type: BooleanConstructor;
default: any;
};
onDeselect: PropType<SelectHandler<(string | number) | LabeledValue, DefaultOptionType>>;
filterOption: {
type: PropType<boolean | FilterFunc<DefaultOptionType>>;
default: any;
};
filterSort: PropType<(optionA: DefaultOptionType, optionB: DefaultOptionType) => number>;
optionFilterProp: StringConstructor;
optionLabelProp: StringConstructor;
options: PropType<DefaultOptionType[]>;
defaultActiveFirstOption: {
type: BooleanConstructor;
default: any;
};
listItemHeight: NumberConstructor;
onClickOption: PropType<(e: MouseEvent, value: SelectValue, selected: boolean) => boolean | Promise<boolean>>;
menuItemSelectedIcon: VueTypeValidableDef<any>;
labelInValue: {
type: BooleanConstructor;
default: any;
};
showSearch: {
type: BooleanConstructor;
default: any;
};
tagRender: {
type: PropType<(props: CustomTagProps) => any>;
};
optionLabelRender: {
type: PropType<(option: Record<string, any>) => any>;
};
onClear: PropType<() => void>;
defaultOpen: {
type: BooleanConstructor;
default: any;
};
onDropdownVisibleChange: {
type: PropType<(open: boolean) => void>;
};
maxTagTextLength: NumberConstructor;
maxTagCount: {
type: PropType<number | "responsive">;
};
maxTagPlaceholder: VueTypeValidableDef<any>;
tokenSeparators: {
type: PropType<string[]>;
};
removeIcon: VueTypeValidableDef<any>;
dropdownStyle: {
type: PropType<CSSProperties>;
};
dropdownRender: {
type: PropType<DropdownRender>;
};
dropdownAlign: PropType<AlignType>;
showAction: {
type: PropType<("click" | "focus")[]>;
};
onPopupScroll: PropType<(e: UIEvent) => void>;
onInputKeyDown: PropType<(e: KeyboardEvent) => void>;
}>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
size: ButtonSize;
value: SelectValue;
mode: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE";
open: boolean;
disabled: boolean;
autofocus: boolean;
variant: "filled" | "outlined" | "borderless" | "underlined";
virtual: boolean;
dropdownMatchSelectWidth: number | boolean;
loading: boolean;
bordered: boolean;
'onUpdate:value': (val: SelectValue) => void;
status: "" | "error" | "warning";
defaultValue: SelectValue;
allowClear: boolean;
autoClearSearchValue: boolean;
filterOption: boolean | FilterFunc<DefaultOptionType>;
defaultActiveFirstOption: boolean;
labelInValue: boolean;
showSearch: boolean;
choiceTransitionName: "";
defaultOpen: boolean;
placement: "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
showArrow: boolean;
}> | null;
};
rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<ApFieldSelectProps, {
focus: () => void;
blur: () => void;
request: (clear?: boolean) => Promise<void>;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
"update:value": (...args: any[]) => void;
}, string, PublicProps, Readonly<ApFieldSelectProps> & Readonly<{
"onUpdate:value"?: ((...args: any[]) => any) | undefined;
}>, {
mode: FieldMode;
open: boolean;
multiple: boolean;
disabled: boolean;
loading: boolean;
autofocus: boolean;
bordered: boolean;
emptyText: string;
virtual: boolean;
lazy: boolean;
allowClear: boolean;
showArrow: boolean;
autoClearSearchValue: boolean;
defaultActiveFirstOption: boolean;
labelInValue: boolean;
showSearch: boolean;
defaultOpen: boolean;
searchMode: "filter" | "request";
refetchOnFocus: boolean;
searchDelay: number;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
selectRef: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
value: {
type: PropType<SelectValue>;
default: SelectValue;
};
defaultValue: {
type: PropType<SelectValue>;
default: SelectValue;
};
notFoundContent: VueTypeValidableDef<any>;
suffixIcon: VueTypeValidableDef<any>;
itemIcon: VueTypeValidableDef<any>;
size: {
type: PropType<ButtonSize>;
default: ButtonSize;
};
mode: {
type: PropType<"multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE">;
default: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE";
};
bordered: {
type: BooleanConstructor;
default: boolean;
};
showArrow: {
type: BooleanConstructor;
default: boolean;
};
variant: {
type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
default: "filled" | "outlined" | "borderless" | "underlined";
};
maxCount: NumberConstructor;
transitionName: StringConstructor;
choiceTransitionName: {
type: PropType<"">;
default: "";
};
popupClassName: StringConstructor;
dropdownClassName: StringConstructor;
placement: {
type: PropType<"bottomLeft" | "bottomRight" | "topLeft" | "topRight">;
default: "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
};
status: {
type: PropType<"" | "error" | "warning">;
default: "" | "error" | "warning";
};
'onUpdate:value': {
type: PropType<(val: SelectValue) => void>;
default: (val: SelectValue) => void;
};
children: PropType< VueNode[]>;
listHeight: NumberConstructor;
onMouseenter: PropType<(e: MouseEvent) => void>;
onMouseleave: PropType<(e: MouseEvent) => void>;
tabindex: NumberConstructor;
onClick: PropType<(e: MouseEvent) => void>;
onFocus: {
type: PropType<(e: FocusEvent) => void>;
};
onBlur: {
type: PropType<(e: FocusEvent) => void>;
};
onChange: PropType<(value: SelectValue, option: DefaultOptionType | DefaultOptionType[]) => void>;
onKeydown: PropType<(e: KeyboardEvent) => void>;
onKeyup: PropType<(e: KeyboardEvent) => void>;
onMousedown: PropType<(e: MouseEvent) => void>;
onSelect: PropType<SelectHandler<(string | number) | LabeledValue, DefaultOptionType>>;
open: {
type: BooleanConstructor;
default: any;
};
animation: StringConstructor;
direction: {
type: PropType<"rtl" | "ltr">;
};
disabled: {
type: BooleanConstructor;
default: any;
};
prefixCls: StringConstructor;
id: StringConstructor;
autofocus: BooleanConstructor;
getPopupContainer: {
type: PropType<RenderDOMFunc>;
};
virtual: {
type: BooleanConstructor;
default: any;
};
dropdownMatchSelectWidth: {
type: PropType<number | boolean>;
default: any;
};
placeholder: VueTypeValidableDef<any>;
loading: {
type: BooleanConstructor;
default: any;
};
prefix: VueTypeValidableDef<any>;
clearIcon: VueTypeValidableDef<any>;
allowClear: {
type: BooleanConstructor;
default: any;
};
fieldNames: PropType<FieldNames>;
inputValue: StringConstructor;
searchValue: StringConstructor;
onSearch: PropType<(value: string) => void>;
autoClearSearchValue: {
type: BooleanConstructor;
default: any;
};
onDeselect: PropType<SelectHandler<(string | number) | LabeledValue, DefaultOptionType>>;
filterOption: {
type: PropType<boolean | FilterFunc<DefaultOptionType>>;
default: any;
};
filterSort: PropType<(optionA: DefaultOptionType, optionB: DefaultOptionType) => number>;
optionFilterProp: StringConstructor;
optionLabelProp: StringConstructor;
options: PropType<DefaultOptionType[]>;
defaultActiveFirstOption: {
type: BooleanConstructor;
default: any;
};
listItemHeight: NumberConstructor;
onClickOption: PropType<(e: MouseEvent, value: SelectValue, selected: boolean) => boolean | Promise<boolean>>;
menuItemSelectedIcon: VueTypeValidableDef<any>;
labelInValue: {
type: BooleanConstructor;
default: any;
};
showSearch: {
type: BooleanConstructor;
default: any;
};
tagRender: {
type: PropType<(props: CustomTagProps) => any>;
};
optionLabelRender: {
type: PropType<(option: Record<string, any>) => any>;
};
onClear: PropType<() => void>;
defaultOpen: {
type: BooleanConstructor;
default: any;
};
onDropdownVisibleChange: {
type: PropType<(open: boolean) => void>;
};
maxTagTextLength: NumberConstructor;
maxTagCount: {
type: PropType<number | "responsive">;
};
maxTagPlaceholder: VueTypeValidableDef<any>;
tokenSeparators: {
type: PropType<string[]>;
};
removeIcon: VueTypeValidableDef<any>;
dropdownStyle: {
type: PropType<CSSProperties>;
};
dropdownRender: {
type: PropType<DropdownRender>;
};
dropdownAlign: PropType<AlignType>;
showAction: {
type: PropType<("click" | "focus")[]>;
};
onPopupScroll: PropType<(e: UIEvent) => void>;
onInputKeyDown: PropType<(e: KeyboardEvent) => void>;
}>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
size: ButtonSize;
value: SelectValue;
mode: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE";
open: boolean;
disabled: boolean;
autofocus: boolean;
variant: "filled" | "outlined" | "borderless" | "underlined";
virtual: boolean;
dropdownMatchSelectWidth: number | boolean;
loading: boolean;
bordered: boolean;
'onUpdate:value': (val: SelectValue) => void;
status: "" | "error" | "warning";
defaultValue: SelectValue;
allowClear: boolean;
autoClearSearchValue: boolean;
filterOption: boolean | FilterFunc<DefaultOptionType>;
defaultActiveFirstOption: boolean;
labelInValue: boolean;
showSearch: boolean;
choiceTransitionName: "";
defaultOpen: boolean;
placement: "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
showArrow: boolean;
}, true, {}, CustomSlotsType<{
notFoundContent: any;
suffixIcon: any;
itemIcon: any;
removeIcon: any;
clearIcon: any;
dropdownRender: any;
option: any;
placeholder: any;
tagRender: any;
maxTagPlaceholder: any;
optionLabel: any;
default: any;
prefix: any;
}>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly< ExtractPropTypes<{
value: {
type: PropType<SelectValue>;
default: SelectValue;
};
defaultValue: {
type: PropType<SelectValue>;
default: SelectValue;
};
notFoundContent: VueTypeValidableDef<any>;
suffixIcon: VueTypeValidableDef<any>;
itemIcon: VueTypeValidableDef<any>;
size: {
type: PropType<ButtonSize>;
default: ButtonSize;
};
mode: {
type: PropType<"multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE">;
default: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE";
};
bordered: {
type: BooleanConstructor;
default: boolean;
};
showArrow: {
type: BooleanConstructor;
default: boolean;
};
variant: {
type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
default: "filled" | "outlined" | "borderless" | "underlined";
};
maxCount: NumberConstructor;
transitionName: StringConstructor;
choiceTransitionName: {
type: PropType<"">;
default: "";
};
popupClassName: StringConstructor;
dropdownClassName: StringConstructor;
placement: {
type: PropType<"bottomLeft" | "bottomRight" | "topLeft" | "topRight">;
default: "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
};
status: {
type: PropType<"" | "error" | "warning">;
default: "" | "error" | "warning";
};
'onUpdate:value': {
type: PropType<(val: SelectValue) => void>;
default: (val: SelectValue) => void;
};
children: PropType< VueNode[]>;
listHeight: NumberConstructor;
onMouseenter: PropType<(e: MouseEvent) => void>;
onMouseleave: PropType<(e: MouseEvent) => void>;
tabindex: NumberConstructor;
onClick: PropType<(e: MouseEvent) => void>;
onFocus: {
type: PropType<(e: FocusEvent) => void>;
};
onBlur: {
type: PropType<(e: FocusEvent) => void>;
};
onChange: PropType<(value: SelectValue, option: DefaultOptionType | DefaultOptionType[]) => void>;
onKeydown: PropType<(e: KeyboardEvent) => void>;
onKeyup: PropType<(e: KeyboardEvent) => void>;
onMousedown: PropType<(e: MouseEvent) => void>;
onSelect: PropType<SelectHandler<(string | number) | LabeledValue, DefaultOptionType>>;
open: {
type: BooleanConstructor;
default: any;
};
animation: StringConstructor;
direction: {
type: PropType<"rtl" | "ltr">;
};
disabled: {
type: BooleanConstructor;
default: any;
};
prefixCls: StringConstructor;
id: StringConstructor;
autofocus: BooleanConstructor;
getPopupContainer: {
type: PropType<RenderDOMFunc>;
};
virtual: {
type: BooleanConstructor;
default: any;
};
dropdownMatchSelectWidth: {
type: PropType<number | boolean>;
default: any;
};
placeholder: VueTypeValidableDef<any>;
loading: {
type: BooleanConstructor;
default: any;
};
prefix: VueTypeValidableDef<any>;
clearIcon: VueTypeValidableDef<any>;
allowClear: {
type: BooleanConstructor;
default: any;
};
fieldNames: PropType<FieldNames>;
inputValue: StringConstructor;
searchValue: StringConstructor;
onSearch: PropType<(value: string) => void>;
autoClearSearchValue: {
type: BooleanConstructor;
default: any;
};
onDeselect: PropType<SelectHandler<(string | number) | LabeledValue, DefaultOptionType>>;
filterOption: {
type: PropType<boolean | FilterFunc<DefaultOptionType>>;
default: any;
};
filterSort: PropType<(optionA: DefaultOptionType, optionB: DefaultOptionType) => number>;
optionFilterProp: StringConstructor;
optionLabelProp: StringConstructor;
options: PropType<DefaultOptionType[]>;
defaultActiveFirstOption: {
type: BooleanConstructor;
default: any;
};
listItemHeight: NumberConstructor;
onClickOption: PropType<(e: MouseEvent, value: SelectValue, selected: boolean) => boolean | Promise<boolean>>;
menuItemSelectedIcon: VueTypeValidableDef<any>;
labelInValue: {
type: BooleanConstructor;
default: any;
};
showSearch: {
type: BooleanConstructor;
default: any;
};
tagRender: {
type: PropType<(props: CustomTagProps) => any>;
};
optionLabelRender: {
type: PropType<(option: Record<string, any>) => any>;
};
onClear: PropType<() => void>;
defaultOpen: {
type: BooleanConstructor;
default: any;
};
onDropdownVisibleChange: {
type: PropType<(open: boolean) => void>;
};
maxTagTextLength: NumberConstructor;
maxTagCount: {
type: PropType<number | "responsive">;
};
maxTagPlaceholder: VueTypeValidableDef<any>;
tokenSeparators: {
type: PropType<string[]>;
};
removeIcon: VueTypeValidableDef<any>;
dropdownStyle: {
type: PropType<CSSProperties>;
};
dropdownRender: {
type: PropType<DropdownRender>;
};
dropdownAlign: PropType<AlignType>;
showAction: {
type: PropType<("click" | "focus")[]>;
};
onPopupScroll: PropType<(e: UIEvent) => void>;
onInputKeyDown: PropType<(e: KeyboardEvent) => void>;
}>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
size: ButtonSize;
value: SelectValue;
mode: "multiple" | "tags" | "SECRET_COMBOBOX_MODE_DO_NOT_USE";
open: boolean;
disabled: boolean;
autofocus: boolean;
variant: "filled" | "outlined" | "borderless" | "underlined";
virtual: boolean;
dropdownMatchSelectWidth: number | boolean;
loading: boolean;
bordered: boolean;
'onUpdate:value': (val: SelectValue) => void;
status: "" | "error" | "warning";
defaultValue: SelectValue;
allowClear: boolean;
autoClearSearchValue: boolean;
filterOption: boolean | FilterFunc<DefaultOptionType>;
defaultActiveFirstOption: boolean;
labelInValue: boolean;
showSearch: boolean;
choiceTransitionName: "";
defaultOpen: boolean;
placement: "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
showArrow: boolean;
}> | null;
}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};