You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
2.7 KiB
62 lines
2.7 KiB
import * as React from 'react';
|
|
import { SelectProps, RefSelectProps } from 'rc-select/lib/generate';
|
|
import { IconType } from 'rc-tree/lib/interface';
|
|
import { FilterFunc } from 'rc-select/lib/interface/generator';
|
|
import { Key, DefaultValueType, DataNode, LabelValueType, SimpleModeConfig, ChangeEventExtra, LegacyDataNode } from './interface';
|
|
import { CheckedStrategy, SHOW_ALL, SHOW_PARENT, SHOW_CHILD } from './utils/strategyUtil';
|
|
export interface TreeSelectProps<ValueType = DefaultValueType> extends Omit<SelectProps<DataNode[], ValueType>, 'onChange' | 'mode' | 'menuItemSelectedIcon' | 'dropdownAlign' | 'backfill' | 'getInputElement' | 'optionLabelProp' | 'tokenSeparators' | 'filterOption'> {
|
|
multiple?: boolean;
|
|
showArrow?: boolean;
|
|
showSearch?: boolean;
|
|
open?: boolean;
|
|
defaultOpen?: boolean;
|
|
value?: ValueType;
|
|
defaultValue?: ValueType;
|
|
disabled?: boolean;
|
|
placeholder?: React.ReactNode;
|
|
/** @deprecated Use `searchValue` instead */
|
|
inputValue?: string;
|
|
searchValue?: string;
|
|
autoClearSearchValue?: boolean;
|
|
maxTagTextLength?: number;
|
|
maxTagCount?: number;
|
|
maxTagPlaceholder?: (omittedValues: LabelValueType[]) => React.ReactNode;
|
|
loadData?: (dataNode: LegacyDataNode) => Promise<unknown>;
|
|
treeNodeFilterProp?: string;
|
|
treeNodeLabelProp?: string;
|
|
treeDataSimpleMode?: boolean | SimpleModeConfig;
|
|
treeExpandedKeys?: Key[];
|
|
treeDefaultExpandedKeys?: Key[];
|
|
treeLoadedKeys?: Key[];
|
|
treeCheckable?: boolean | React.ReactNode;
|
|
treeCheckStrictly?: boolean;
|
|
showCheckedStrategy?: CheckedStrategy;
|
|
treeDefaultExpandAll?: boolean;
|
|
treeData?: DataNode[];
|
|
treeLine?: boolean;
|
|
treeIcon?: IconType;
|
|
showTreeIcon?: boolean;
|
|
switcherIcon?: IconType;
|
|
treeMotion?: any;
|
|
children?: React.ReactNode;
|
|
filterTreeNode?: boolean | FilterFunc<LegacyDataNode>;
|
|
dropdownPopupAlign?: any;
|
|
onSearch?: (value: string) => void;
|
|
onChange?: (value: ValueType, labelList: React.ReactNode[], extra: ChangeEventExtra) => void;
|
|
onTreeExpand?: (expandedKeys: Key[]) => void;
|
|
onTreeLoad?: (loadedKeys: Key[]) => void;
|
|
/** `searchPlaceholder` has been removed since search box has been merged into input box */
|
|
searchPlaceholder?: React.ReactNode;
|
|
}
|
|
declare class TreeSelect<ValueType = DefaultValueType> extends React.Component<TreeSelectProps<ValueType>, {}> {
|
|
static TreeNode: React.FC<import("./TreeNode").TreeNodeProps>;
|
|
static SHOW_ALL: typeof SHOW_ALL;
|
|
static SHOW_PARENT: typeof SHOW_PARENT;
|
|
static SHOW_CHILD: typeof SHOW_CHILD;
|
|
selectRef: React.RefObject<RefSelectProps>;
|
|
focus: () => void;
|
|
blur: () => void;
|
|
render(): JSX.Element;
|
|
}
|
|
export default TreeSelect;
|