@alifd/next
Version:
A configurable component library for web built on React.
97 lines (96 loc) • 4.57 kB
TypeScript
import React, { Component, type FocusEvent } from 'react';
import PropTypes from 'prop-types';
import type { CascaderDataItem, CascaderDataItemWithPosInfo, CascaderProps, CascaderState, V2n } from './types';
/**
* Cascader
*/
declare class Cascader extends Component<CascaderProps, CascaderState> {
static propTypes: {
prefix: PropTypes.Requireable<string>;
rtl: PropTypes.Requireable<boolean>;
pure: PropTypes.Requireable<boolean>;
className: PropTypes.Requireable<string>;
dataSource: PropTypes.Requireable<(object | null | undefined)[]>;
defaultValue: PropTypes.Requireable<NonNullable<string | (string | null | undefined)[] | null | undefined>>;
value: PropTypes.Requireable<NonNullable<string | (string | null | undefined)[] | null | undefined>>;
onChange: PropTypes.Requireable<(...args: any[]) => any>;
onSelect: PropTypes.Requireable<(...args: any[]) => any>;
defaultExpandedValue: PropTypes.Requireable<(string | null | undefined)[]>;
expandedValue: PropTypes.Requireable<(string | null | undefined)[]>;
expandTriggerType: PropTypes.Requireable<string>;
onExpand: PropTypes.Requireable<(...args: any[]) => any>;
useVirtual: PropTypes.Requireable<boolean>;
multiple: PropTypes.Requireable<boolean>;
canOnlySelectLeaf: PropTypes.Requireable<boolean>;
canOnlyCheckLeaf: PropTypes.Requireable<boolean>;
checkStrictly: PropTypes.Requireable<boolean>;
listStyle: PropTypes.Requireable<object>;
listClassName: PropTypes.Requireable<string>;
itemRender: PropTypes.Requireable<(...args: any[]) => any>;
loadData: PropTypes.Requireable<(...args: any[]) => any>;
searchValue: PropTypes.Requireable<string>;
onBlur: PropTypes.Requireable<(...args: any[]) => any>;
filteredPaths: PropTypes.Requireable<any[]>;
filteredListStyle: PropTypes.Requireable<object>;
resultRender: PropTypes.Requireable<(...args: any[]) => any>;
immutable: PropTypes.Requireable<boolean>;
};
static defaultProps: {
prefix: string;
rtl: boolean;
pure: boolean;
dataSource: never[];
defaultValue: null;
canOnlySelectLeaf: boolean;
canOnlyCheckLeaf: boolean;
expandTriggerType: string;
multiple: boolean;
useVirtual: boolean;
checkStrictly: boolean;
itemRender: (item: CascaderDataItem) => React.ReactNode;
immutable: boolean;
};
lastExpandedValue: string[];
cascader: HTMLDivElement;
cascaderInner: HTMLDivElement;
indeterminate: string[];
constructor(props: CascaderProps);
static getDerivedStateFromProps(props: CascaderProps, state: CascaderState): {
_v2n: V2n;
_p2n: V2n;
value?: string[] | undefined;
isExpandedValueSetByAction?: boolean | undefined;
expandedValue?: string[] | undefined;
focusedValue?: string | undefined;
};
componentDidMount(): void;
componentDidUpdate(): void;
getCascaderNode(ref: HTMLDivElement): void;
getCascaderInnerNode(ref: HTMLDivElement): void;
setCascaderInnerWidth(): void;
flatValue(value: string[]): string[];
getValue(pos: string): string | null;
getPos(value: string): string | null;
getData(value: string[]): CascaderDataItemWithPosInfo[];
processValue(value: string[], v: string, checked: boolean): void;
handleSelect(v: string, canExpand: boolean): void;
handleCheck(v: string, checked: boolean): void;
handleExpand(value: string, level: number, canExpand: boolean, focusedFirstChild: boolean): void | Promise<void>;
handleMouseLeave(): void;
setExpandValue(expandedValue: string[], isExpandedValueSetByAction?: boolean): void;
getFirstFocusKeyByDataSource(dataSource: Array<CascaderDataItem>): string;
getFirstFocusKeyByFilteredPaths(filteredPaths: CascaderProps['filteredPaths']): string;
getFirstFocusKey(): string;
setFocusValue(): void;
handleFocus(focusedValue: string): void;
handleFold(): void;
getIndeterminate(value: string[]): string[];
onBlur(e: FocusEvent<HTMLElement>): void;
renderMenu(data: CascaderProps['dataSource'], level: number): React.JSX.Element;
renderMenus(): React.JSX.Element[];
renderFilteredItem(path: CascaderDataItemWithPosInfo[]): React.JSX.Element;
renderFilteredList(): React.JSX.Element;
render(): React.JSX.Element;
}
declare const _default: typeof Cascader;
export default _default;