@extclp/vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
63 lines (62 loc) • 3.7 kB
TypeScript
import { ExtractPropTypes, PropType } from 'vue';
import { ConfigurableProps } from '@vexip-ui/config';
import { CascaderKeyConfig, CascaderSlots, CascaderValue, Data } from './symbol';
type ChangeEvent = ((value: CascaderValue, data: Data[] | Data[][]) => void) | ((value: (string | number)[], data: Data[]) => void) | ((value: string[], data: Data[]) => void) | ((value: number[], data: Data[]) => void) | ((value: (string | number)[][], data: Data[][]) => void) | ((value: string[][], data: Data[][]) => void) | ((value: number[][], data: Data[][]) => void);
export declare const cascaderProps: {
inherit: PropType<boolean>;
size: PropType<"default" | "small" | "large">;
state: PropType<"default" | "success" | "error" | "warning">;
locale: PropType<Partial<{
placeholder: string;
empty: string;
search: string;
ariaLabel: {
clear: string;
};
}>>;
value: PropType<(string | number)[] | (string | number)[][]>;
visible: PropType<boolean>;
options: PropType<Data[]>;
placeholder: PropType<string>;
prefix: PropType<any>;
prefixColor: PropType<string>;
suffix: PropType<any>;
suffixColor: PropType<string>;
noCascaded: PropType<boolean>;
multiple: PropType<boolean>;
disabled: PropType<boolean>;
clearable: PropType<boolean>;
placement: PropType<"bottom" | "top" | "right" | "left" | "bottom-start" | "bottom-end" | "top-start" | "top-end" | "right-start" | "right-end" | "left-start" | "left-end">;
transfer: PropType<string | boolean>;
staticSuffix: PropType<boolean>;
noSuffix: PropType<boolean>;
transitionName: PropType<string>;
outsideClose: PropType<boolean>;
keyConfig: PropType<CascaderKeyConfig>;
separator: PropType<string>;
hoverTrigger: PropType<boolean>;
maxTagCount: PropType<number>;
briefLabel: PropType<boolean>;
noRestTip: PropType<boolean>;
onAsyncLoad: PropType<(data: Data) => any[] | Promise<any[]>>;
mergeTags: PropType<boolean>;
tagType: PropType<"default" | "success" | "error" | "warning" | "info" | "cyan" | "gold" | "lime" | "magenta" | "navy" | "orange" | "pink" | "purple" | "tomato" | "primary">;
emptyText: PropType<string>;
loading: PropType<boolean>;
loadingIcon: PropType<any>;
loadingLock: PropType<boolean>;
loadingEffect: PropType<string>;
transparent: PropType<boolean>;
popperAlive: PropType<boolean>;
slots: PropType<CascaderSlots>;
onToggle: PropType<((visible: boolean) => void) | ((visible: boolean) => void)[]>;
onSelect: PropType<((fullValue: string, data: Data) => void) | ((fullValue: string, data: Data) => void)[]>;
onCancel: PropType<((fullValue: string, data: Data) => void) | ((fullValue: string, data: Data) => void)[]>;
onChange: PropType<((value: CascaderValue, data: Data[] | Data[][]) => void) | ((value: (string | number)[], data: Data[]) => void) | ((value: string[], data: Data[]) => void) | ((value: number[], data: Data[]) => void) | ((value: (string | number)[][], data: Data[][]) => void) | ((value: string[][], data: Data[][]) => void) | ((value: number[][], data: Data[][]) => void) | ChangeEvent[]>;
onClickOutside: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
onOutsideClose: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
onClear: PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
};
export type CascaderProps = ExtractPropTypes<typeof cascaderProps>;
export type CascaderCProps = ConfigurableProps<CascaderProps, never, 'onAsyncLoad'>;
export {};