@aplus-frontend/ui
Version:
1,006 lines • 63.9 kB
TypeScript
import { ApFormItemSelectProps } from '../interface';
import { ApFormItemSlots } from '../../interface';
import { ComponentInternalInstance, CSSProperties, VNodeProps, AllowedComponentProps, ComponentCustomProps, CreateComponentPublicInstanceWithMixins, ExtractPropTypes, PropType, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, Slot, ComponentPublicInstance, ComponentOptionsBase, DebuggerEvent, nextTick, WatchOptions, WatchStopHandle, ShallowUnwrapRef, ComponentCustomProperties, DefineComponent } from 'vue';
import { FieldMode, ApFieldSelectProps } from '../../..';
import { SelectValue, DefaultOptionType, LabeledValue } from '@aplus-frontend/antdv/es/select';
import { SelectHandler, FieldNames, FilterFunc } from '@aplus-frontend/antdv/es/vc-select/Select';
import { VueNode, CustomSlotsType } from '@aplus-frontend/antdv/es/_util/type';
import { RenderDOMFunc, CustomTagProps, DropdownRender } from '@aplus-frontend/antdv/es/vc-select/BaseSelect';
import { AlignType } from '@aplus-frontend/antdv/es/vc-trigger/interface';
import { Recordable } from '../../../type';
import { SelectProps } from '@aplus-frontend/antdv';
import { VueTypeValidableDef } from '../../../../node_modules/vue-types';
import { ButtonSize } from '@aplus-frontend/antdv/es/button';
import { OnCleanup } from '@vue/reactivity';
declare function __VLS_template(): {
attrs: Partial<{}>;
slots: Readonly<{
notFoundContent: any;
suffixIcon: any;
itemIcon: any;
removeIcon: any;
clearIcon: any;
dropdownRender: any;
option: any;
placeholder: any;
tagRender: any;
maxTagPlaceholder: any;
optionLabel: any;
default: any;
} & Omit<ApFormItemSlots, "default">> & {
notFoundContent: any;
suffixIcon: any;
itemIcon: any;
removeIcon: any;
clearIcon: any;
dropdownRender: any;
option: any;
placeholder: any;
tagRender: any;
maxTagPlaceholder: any;
optionLabel: any;
default: any;
} & Omit<ApFormItemSlots, "default">;
refs: {
selectRef: ({
$: ComponentInternalInstance;
$data: {};
$props: {
readonly mode?: FieldMode | undefined;
readonly class?: unknown;
readonly style?: unknown;
readonly size?: "small" | "large" | "middle" | undefined;
readonly onBlur?: ((e: FocusEvent) => void) | undefined;
readonly onChange?: ((value: SelectValue, option: DefaultOptionType | DefaultOptionType[]) => void) | undefined;
readonly onClick?: ((e: MouseEvent) => void) | undefined;
readonly onFocus?: ((e: FocusEvent) => void) | undefined;
readonly onKeydown?: ((e: KeyboardEvent) => void) | undefined;
readonly onKeyup?: ((e: KeyboardEvent) => void) | undefined;
readonly onMousedown?: ((e: MouseEvent) => void) | undefined;
readonly onMouseenter?: ((e: MouseEvent) => void) | undefined;
readonly onMouseleave?: ((e: MouseEvent) => void) | undefined;
readonly onSelect?: SelectHandler<(string | number) | LabeledValue, DefaultOptionType> | undefined;
readonly placement?: "topLeft" | "bottomLeft" | "bottomRight" | "topRight" | undefined;
readonly open?: boolean | undefined;
readonly disabled?: boolean | undefined;
readonly direction?: "ltr" | "rtl" | undefined;
readonly animation?: string | undefined;
readonly children?: VueNode[] | undefined;
readonly prefixCls?: string | undefined;
readonly variant?: "filled" | "outlined" | "borderless" | "underlined" | undefined;
readonly loading?: boolean | undefined;
readonly transitionName?: string | undefined;
readonly autofocus?: boolean | undefined;
readonly bordered?: boolean | undefined;
readonly id?: string | undefined;
readonly getPopupContainer?: RenderDOMFunc | undefined;
readonly virtual?: boolean | undefined;
readonly dropdownMatchSelectWidth?: number | boolean | undefined;
readonly placeholder?: any;
readonly status?: "" | "error" | "warning" | undefined;
readonly defaultValue?: (string | number) | LabeledValue | (string | number)[] | LabeledValue[] | undefined;
readonly prefix?: any;
readonly clearIcon?: any;
readonly allowClear?: boolean | undefined;
readonly notFoundContent?: any;
readonly suffixIcon?: any;
readonly itemIcon?: any;
readonly showArrow?: boolean | undefined;
readonly maxCount?: number | undefined;
readonly choiceTransitionName?: "" | undefined;
readonly popupClassName?: string | undefined;
readonly dropdownClassName?: string | undefined;
readonly listHeight?: number | undefined;
readonly tabindex?: number | undefined;
readonly fieldNames?: FieldNames | undefined;
readonly inputValue?: string | undefined;
readonly searchValue?: string | undefined;
readonly autoClearSearchValue?: boolean | undefined;
readonly onDeselect?: SelectHandler<(string | number) | LabeledValue, DefaultOptionType> | undefined;
readonly filterOption?: boolean | FilterFunc<DefaultOptionType> | undefined;
readonly filterSort?: ((optionA: DefaultOptionType, optionB: DefaultOptionType) => number) | undefined;
readonly optionFilterProp?: string | undefined;
readonly optionLabelProp?: string | undefined;
readonly options?: DefaultOptionType[] | undefined;
readonly defaultActiveFirstOption?: boolean | undefined;
readonly listItemHeight?: number | undefined;
readonly onClickOption?: ((e: MouseEvent, value: SelectValue, selected: boolean) => boolean | Promise<boolean>) | undefined;
readonly menuItemSelectedIcon?: any;
readonly labelInValue?: boolean | undefined;
readonly showSearch?: boolean | undefined;
readonly tagRender?: ((props: CustomTagProps) => any) | undefined;
readonly optionLabelRender?: ((option: Record<string, any>) => any) | undefined;
readonly onClear?: (() => void) | undefined;
readonly defaultOpen?: boolean | undefined;
readonly onDropdownVisibleChange?: ((open: boolean) => void) | undefined;
readonly maxTagTextLength?: number | undefined;
readonly maxTagCount?: number | "responsive" | undefined;
readonly maxTagPlaceholder?: any;
readonly tokenSeparators?: string[] | undefined;
readonly removeIcon?: any;
readonly dropdownStyle?: CSSProperties | undefined;
readonly dropdownRender?: DropdownRender | undefined;
readonly dropdownAlign?: AlignType | undefined;
readonly showAction?: ("click" | "focus")[] | undefined;
readonly onPopupScroll?: ((e: UIEvent) => void) | undefined;
readonly onInputKeyDown?: ((e: KeyboardEvent) => void) | undefined;
readonly emptyText?: string | undefined;
readonly request?: ((value?: string, extraParams?: Recordable) => Promise< SelectProps["options"]>) | undefined;
readonly multiple?: boolean | undefined;
readonly value?: (string | number) | LabeledValue | (string | number)[] | LabeledValue[] | undefined;
readonly 'onUpdate:value'?: (((val: SelectValue) => void) & ((...args: any[]) => any)) | undefined;
readonly searchMode?: "filter" | "request" | undefined;
readonly refetchOnFocus?: boolean | undefined;
readonly lazy?: boolean | undefined;
readonly addAll?: boolean | number | undefined;
readonly params?: Recordable | undefined;
readonly searchDelay?: number | undefined;
} & VNodeProps & AllowedComponentProps & ComponentCustomProps;
$attrs: {
[x: string]: unknown;
};
$refs: {
[x: string]: unknown;
} & {
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;
};
$slots: Readonly<{
[name: string]: Slot<any> | undefined;
}>;
$root: ComponentPublicInstance | null;
$parent: ComponentPublicInstance | null;
$host: Element | null;
$emit: (event: "update:value", ...args: any[]) => void;
$el: any;
$options: ComponentOptionsBase<Readonly< ApFieldSelectProps> & Readonly<{
"onUpdate:value"?: ((...args: any[]) => any) | undefined;
}>, {
focus: () => void;
blur: () => void;
request: (clear?: boolean) => Promise<void>;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
"update:value": (...args: any[]) => void;
}, string, {
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, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
beforeCreate?: (() => void) | (() => void)[];
created?: (() => void) | (() => void)[];
beforeMount?: (() => void) | (() => void)[];
mounted?: (() => void) | (() => void)[];
beforeUpdate?: (() => void) | (() => void)[];
updated?: (() => void) | (() => void)[];
activated?: (() => void) | (() => void)[];
deactivated?: (() => void) | (() => void)[];
beforeDestroy?: (() => void) | (() => void)[];
beforeUnmount?: (() => void) | (() => void)[];
destroyed?: (() => void) | (() => void)[];
unmounted?: (() => void) | (() => void)[];
renderTracked?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
renderTriggered?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[];
};
$forceUpdate: () => void;
$nextTick: nextTick;
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, OnCleanup]) => any : (...args: [any, any, OnCleanup]) => any, options?: WatchOptions): WatchStopHandle;
} & Readonly<{
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;
}> & Omit<Readonly< ApFieldSelectProps> & Readonly<{
"onUpdate:value"?: ((...args: any[]) => any) | undefined;
}>, "blur" | "focus" | "request" | ("mode" | "open" | "multiple" | "disabled" | "loading" | "autofocus" | "bordered" | "emptyText" | "virtual" | "lazy" | "allowClear" | "showArrow" | "autoClearSearchValue" | "defaultActiveFirstOption" | "labelInValue" | "showSearch" | "defaultOpen" | "searchMode" | "refetchOnFocus" | "searchDelay")> & ShallowUnwrapRef<{
focus: () => void;
blur: () => void;
request: (clear?: boolean) => Promise<void>;
}> & {} & ComponentCustomProperties & {} & {
$slots: Readonly<{
notFoundContent: any;
suffixIcon: any;
itemIcon: any;
removeIcon: any;
clearIcon: any;
dropdownRender: any;
option: any;
placeholder: any;
tagRender: any;
maxTagPlaceholder: any;
optionLabel: any;
default: any;
}> & {
notFoundContent: any;
suffixIcon: any;
itemIcon: any;
removeIcon: any;
clearIcon: any;
dropdownRender: any;
option: any;
placeholder: any;
tagRender: any;
maxTagPlaceholder: any;
optionLabel: any;
default: any;
};
}) | null;
};
rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<ApFormItemSelectProps, {
focus: () => void;
blur: () => void;
request: () => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ApFormItemSelectProps> & Readonly<{}>, {
disabled: boolean;
colon: boolean;
required: boolean;
hasFeedback: boolean;
autoLink: boolean;
validateFirst: boolean;
field: Omit< ApFieldSelectProps, "value" | "onUpdate:value">;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
selectRef: ({
$: ComponentInternalInstance;
$data: {};
$props: {
readonly mode?: FieldMode | undefined;
readonly class?: unknown;
readonly style?: unknown;
readonly size?: "small" | "large" | "middle" | undefined;
readonly onBlur?: ((e: FocusEvent) => void) | undefined;
readonly onChange?: ((value: SelectValue, option: DefaultOptionType | DefaultOptionType[]) => void) | undefined;
readonly onClick?: ((e: MouseEvent) => void) | undefined;
readonly onFocus?: ((e: FocusEvent) => void) | undefined;
readonly onKeydown?: ((e: KeyboardEvent) => void) | undefined;
readonly onKeyup?: ((e: KeyboardEvent) => void) | undefined;
readonly onMousedown?: ((e: MouseEvent) => void) | undefined;
readonly onMouseenter?: ((e: MouseEvent) => void) | undefined;
readonly onMouseleave?: ((e: MouseEvent) => void) | undefined;
readonly onSelect?: SelectHandler<(string | number) | LabeledValue, DefaultOptionType> | undefined;
readonly placement?: "topLeft" | "bottomLeft" | "bottomRight" | "topRight" | undefined;
readonly open?: boolean | undefined;
readonly disabled?: boolean | undefined;
readonly direction?: "ltr" | "rtl" | undefined;
readonly animation?: string | undefined;
readonly children?: VueNode[] | undefined;
readonly prefixCls?: string | undefined;
readonly variant?: "filled" | "outlined" | "borderless" | "underlined" | undefined;
readonly loading?: boolean | undefined;
readonly transitionName?: string | undefined;
readonly autofocus?: boolean | undefined;
readonly bordered?: boolean | undefined;
readonly id?: string | undefined;
readonly getPopupContainer?: RenderDOMFunc | undefined;
readonly virtual?: boolean | undefined;
readonly dropdownMatchSelectWidth?: number | boolean | undefined;
readonly placeholder?: any;
readonly status?: "" | "error" | "warning" | undefined;
readonly defaultValue?: (string | number) | LabeledValue | (string | number)[] | LabeledValue[] | undefined;
readonly prefix?: any;
readonly clearIcon?: any;
readonly allowClear?: boolean | undefined;
readonly notFoundContent?: any;
readonly suffixIcon?: any;
readonly itemIcon?: any;
readonly showArrow?: boolean | undefined;
readonly maxCount?: number | undefined;
readonly choiceTransitionName?: "" | undefined;
readonly popupClassName?: string | undefined;
readonly dropdownClassName?: string | undefined;
readonly listHeight?: number | undefined;
readonly tabindex?: number | undefined;
readonly fieldNames?: FieldNames | undefined;
readonly inputValue?: string | undefined;
readonly searchValue?: string | undefined;
readonly autoClearSearchValue?: boolean | undefined;
readonly onDeselect?: SelectHandler<(string | number) | LabeledValue, DefaultOptionType> | undefined;
readonly filterOption?: boolean | FilterFunc<DefaultOptionType> | undefined;
readonly filterSort?: ((optionA: DefaultOptionType, optionB: DefaultOptionType) => number) | undefined;
readonly optionFilterProp?: string | undefined;
readonly optionLabelProp?: string | undefined;
readonly options?: DefaultOptionType[] | undefined;
readonly defaultActiveFirstOption?: boolean | undefined;
readonly listItemHeight?: number | undefined;
readonly onClickOption?: ((e: MouseEvent, value: SelectValue, selected: boolean) => boolean | Promise<boolean>) | undefined;
readonly menuItemSelectedIcon?: any;
readonly labelInValue?: boolean | undefined;
readonly showSearch?: boolean | undefined;
readonly tagRender?: ((props: CustomTagProps) => any) | undefined;
readonly optionLabelRender?: ((option: Record<string, any>) => any) | undefined;
readonly onClear?: (() => void) | undefined;
readonly defaultOpen?: boolean | undefined;
readonly onDropdownVisibleChange?: ((open: boolean) => void) | undefined;
readonly maxTagTextLength?: number | undefined;
readonly maxTagCount?: number | "responsive" | undefined;
readonly maxTagPlaceholder?: any;
readonly tokenSeparators?: string[] | undefined;
readonly removeIcon?: any;
readonly dropdownStyle?: CSSProperties | undefined;
readonly dropdownRender?: DropdownRender | undefined;
readonly dropdownAlign?: AlignType | undefined;
readonly showAction?: ("click" | "focus")[] | undefined;
readonly onPopupScroll?: ((e: UIEvent) => void) | undefined;
readonly onInputKeyDown?: ((e: KeyboardEvent) => void) | undefined;
readonly emptyText?: string | undefined;
readonly request?: ((value?: string, extraParams?: Recordable) => Promise< SelectProps["options"]>) | undefined;
readonly multiple?: boolean | undefined;
readonly value?: (string | number) | LabeledValue | (string | number)[] | LabeledValue[] | undefined;
readonly 'onUpdate:value'?: (((val: SelectValue) => void) & ((...args: any[]) => any)) | undefined;
readonly searchMode?: "filter" | "request" | undefined;
readonly refetchOnFocus?: boolean | undefined;
readonly lazy?: boolean | undefined;
readonly addAll?: boolean | number | undefined;
readonly params?: Recordable | undefined;
readonly searchDelay?: number | undefined;
} & VNodeProps & AllowedComponentProps & ComponentCustomProps;
$attrs: {
[x: string]: unknown;
};
$refs: {
[x: string]: unknown;
} & {
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, ComponentProvideOpt