zhangyong
2023-08-22 1353e87cb21a4032d585d7404bae9042f2ebcf08
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import type { InjectionKey, Ref } from 'vue';
interface SelectGroupContext {
    disabled: boolean;
}
export interface QueryChangeCtx {
    query: string;
}
export interface SelectContext {
    props: {
        multiple?: boolean;
        multipleLimit?: number;
        valueKey?: string;
        modelValue?: string | number | unknown | unknown[];
        popperClass?: string;
        remote?: boolean;
        fitInputWidth?: boolean;
    };
    queryChange: Ref<QueryChangeCtx>;
    groupQueryChange: Ref<string>;
    selectWrapper: HTMLElement;
    cachedOptions: Map<any, any>;
    hoverIndex: number;
    optionsCount: number;
    filteredOptionsCount: number;
    options: Map<any, any>;
    optionsArray: any[];
    selected: any | any[];
    setSelected(): void;
    onOptionCreate(vm: SelectOptionProxy): void;
    onOptionDestroy(key: number | string | Record<string, any>): void;
    handleOptionSelect(vm: unknown): void;
}
export declare const selectGroupKey: InjectionKey<SelectGroupContext>;
export declare const selectKey: InjectionKey<SelectContext>;
export interface SelectOptionProxy {
    value: string | number | Record<string, string>;
    label: string | number;
    created: boolean;
    disabled: boolean;
    currentLabel: string;
    itemSelected: boolean;
    isDisabled: boolean;
    select: SelectContext;
    hoverItem: () => void;
    visible: boolean;
    hover: boolean;
    selectOptionClick: () => void;
}
export {};