element-plus
Version:
A Component Library for Vue 3
85 lines (84 loc) • 3.31 kB
TypeScript
import type ElTooltip from 'element-plus/es/components/tooltip';
import type { ISelectProps, SelectOptionProxy } from './token';
type useSelectType = (props: ISelectProps, emit: any) => {
inputId: Ref<string | undefined>;
contentId: Ref<string | undefined>;
nsSelect: Ref<string | undefined>;
nsInput: Ref<string | undefined>;
states: Reactive<Record<string, any>>;
isFocused: Ref<boolean>;
expanded: Ref<boolean>;
optionsArray: ComputedRef<any[]>;
hoverOption: Ref<unknown>;
selectSize: ComputedRef<'' | 'default' | 'small' | 'large'>;
filteredOptionsCount: ComputedRef<number>;
resetCalculatorWidth: () => void;
updateTooltip: () => void;
updateTagTooltip: () => void;
debouncedOnInputChange: DebouncedFunc<() => void>;
onInput: (event: Event) => void;
deletePrevTag: (event: Event) => void;
deleteTag: (event: Event, tag: any) => void;
deleteSelected: (event: Event) => void;
handleOptionSelect: (option: any) => void;
scrollToOption: (option: any) => void;
hasModelValue: ComputedRef<boolean>;
shouldShowPlaceholder: ComputedRef<boolean>;
currentPlaceholder: ComputedRef<string>;
mouseEnterEventName: Ref<string | null>;
needStatusIcon: ComputedRef<boolean>;
showClose: ComputedRef<boolean>;
iconComponent: ComputedRef<string>;
iconReverse: ComputedRef<boolean>;
validateState: ComputedRef<string>;
popupScroll: (data: {
scrollTop: number;
scrollLeft: number;
}) => void;
validateIcon: ComputedRef<unknown>;
showNewOption: ComputedRef<boolean>;
updateOptions: () => void;
collapseTagSize: ComputedRef<'default' | 'small'>;
setSelected: () => void;
selectDisabled: ComputedRef<boolean>;
emptyText: ComputedRef<string | null>;
handleCompositionStart: (e: Event) => void;
handleCompositionUpdate: (e: Event) => void;
handleCompositionEnd: (e: Event) => void;
onOptionCreate: (vm: SelectOptionProxy) => void;
onOptionDestroy: (key: any, vm: SelectOptionProxy) => void;
handleMenuEnter: () => void;
focus: () => void;
blur: () => void;
handleClearClick: (event: Event) => void;
handleClickOutside: (event: Event) => void;
handleEsc: () => void;
toggleMenu: () => void;
selectOption: () => void;
getValueKey: (item: any) => any;
navigateOptions: (direction: string) => void;
dropdownMenuVisible: WritableComputedRef<boolean>;
showTagList: ComputedRef<unknown[]>;
collapseTagList: ComputedRef<unknown[]>;
tagStyle: ComputedRef<unknown>;
collapseTagStyle: ComputedRef<unknown>;
inputStyle: ComputedRef<unknown>;
popperRef: ComputedRef<unknown>;
inputRef: Ref<HTMLInputElement | null>;
tooltipRef: Ref<InstanceType<typeof ElTooltip> | null>;
tagTooltipRef: Ref<InstanceType<typeof ElTooltip> | null>;
calculatorRef: Ref<HTMLElement>;
prefixRef: Ref<HTMLElement>;
suffixRef: Ref<HTMLElement>;
selectRef: Ref<HTMLElement>;
wrapperRef: Ref<HTMLElement>;
selectionRef: Ref<HTMLElement>;
scrollbarRef: Ref<{
handleScroll: () => void;
} | null>;
menuRef: Ref<HTMLElement>;
tagMenuRef: Ref<HTMLElement>;
collapseItemRef: Ref<HTMLElement>;
};
export declare const useSelect: useSelectType;
export {};