UNPKG

sard-uniapp

Version:

sard-uniapp 是一套基于 Uniapp + Vue3 框架开发的兼容多端的 UI 组件库

70 lines (69 loc) 2.26 kB
import { InjectionKey, type StyleValue } from 'vue'; export interface CascaderFieldKeys { label?: string; value?: string; disabled?: string; children?: string; isLeaf?: string; } export interface CascaderOption { label?: string; value?: string | number; disabled?: boolean; children?: CascaderOption[]; isLeaf?: boolean; [key: PropertyKey]: any; } export interface CascaderStateNode { label: string; value: string | number; key: string | number; disabled: boolean; children?: CascaderStateNode[]; parent: CascaderStateNode | null; isLeaf: boolean; loadStatus: 'idle' | 'loading' | 'loaded'; depth: number; indeterminate: boolean; checked: boolean; selected: boolean; option: CascaderOption; } export type CascaderValue = string | number | (string | number)[] | (string | number)[][]; export interface CascaderProps { rootStyle?: StyleValue; rootClass?: string; modelValue?: CascaderValue; options?: CascaderOption[]; fieldKeys?: CascaderFieldKeys; hintText?: string; labelRender?: (option: CascaderOption) => string; changeOnSelect?: boolean; allLevels?: boolean; multiple?: boolean; checkStrictly?: boolean; lazy?: boolean; load?: (node?: CascaderStateNode) => Promise<CascaderOption[]> | CascaderOption[]; } export declare const defaultCascaderProps: { options: () => never[]; }; export interface CascaderSlots { top?(props: { tabIndex: number; }): any; } export interface CascaderEmits { (e: 'update:model-value', value: CascaderValue, selectedOptions: any[]): void; (e: 'change', value: CascaderValue, selectedOptions: any[]): void; (e: 'select', option: any, tabIndex: number): void; } export interface CascaderPanel { nodes: CascaderStateNode[]; selected: CascaderStateNode | null; } export declare const defaultFieldKeys: CascaderFieldKeys; export declare function getSelectedOptionsByValue(options: CascaderOption[], value: CascaderValue, fieldKeys: Required<CascaderFieldKeys>, multiple?: boolean): CascaderOption[] | CascaderOption[][] | undefined; export declare const cascaderOptionsContextSymbol: InjectionKey<{ set: (options: CascaderOption[]) => void; }>;