UNPKG

shineout

Version:

Shein 前端组件库

65 lines (64 loc) 2.33 kB
/// <reference types="node" /> /// <reference types="react" /> import { PureComponent } from '../component'; import DatumTree from '../Datum/Tree'; import Input from './Input'; import { CascaderBaseValue, OriginCascaderProps } from './Props'; import { RegularAttributes } from '../@types/common'; interface State<Value> { focus: boolean; path: Value; position: RegularAttributes.ListPosition; } declare class Cascader<DataItem, Value extends CascaderBaseValue> extends PureComponent<OriginCascaderProps<DataItem, Value>, State<Value>> { static defaultProps: { data: never[]; height: number; clearable: boolean; showArrow: boolean; expandTrigger: string; childrenKey: string; }; pathChangeTimer: NodeJS.Timeout | null; datum: DatumTree<DataItem>; selectId: string; isRendered: boolean; lastFoucs: boolean; shouldUpdateAfterRef: boolean; ref: HTMLDivElement; close: (e: MouseEvent) => void; handleBlur: (e: MouseEvent) => void; handleClick: (e?: any) => void; input: Input; lastValue?: Value; element: HTMLDivElement; renderPending: boolean; constructor(props: OriginCascaderProps<DataItem, Value>); componentDidMount(): void; componentDidUpdate(prevProps: OriginCascaderProps<DataItem, Value>, prevState: State<Value>): void; componentWillUnmount(): void; get focus(): boolean; get shouldFinal(): boolean; setOpenEvent(): void; bindRef(el: HTMLDivElement): void; bindClickAway(): void; bindInput(input: Input): void; clearClickAway(): void; shouldFocus(el: HTMLDivElement): boolean; updatePath(): void; updatePathByValue(force?: boolean): void; handleClickAway(e: MouseEvent): void; handlePathChange(id: string | number, data: DataItem | null, path: (string | number)[], fromClick?: boolean): void; handleFocus(e: any): void; handleClear(): void; handleRemove(node: DataItem): void; handleState(focus: boolean, e?: MouseEvent): void; handleKeyDown(e: any): void; handleChange(...args: [Value, DataItem?]): void; renderList(): JSX.Element; renderAbsoluteList(): JSX.Element | null; renderFilterList(): JSX.Element; renderPanel(): JSX.Element | null; render(): JSX.Element; } export default Cascader;