UNPKG

amis

Version:

一种MIS页面生成工具

100 lines (99 loc) 2.87 kB
import React from 'react'; import { OptionsControlProps, Option, FormOptionsControl } from './Options'; import { Api } from '../../types'; /** * Tree 下拉选择框。 * 文档:https://baidu.gitee.io/amis/docs/components/form/tree */ export interface TreeSelectControlSchema extends FormOptionsControl { type: 'tree-select'; /** * 是否隐藏顶级 */ hideRoot?: boolean; /** * 顶级选项的名称 */ rootLabel?: string; /** * 顶级选项的值 */ rootValue?: any; /** * 显示图标 */ showIcon?: boolean; /** * 父子之间是否完全独立。 */ cascade?: boolean; /** * 选父级的时候是否把子节点的值也包含在内。 */ withChildren?: boolean; /** * 选父级的时候,是否只把子节点的值包含在内 */ onlyChildren?: boolean; /** * 顶级节点是否可以创建子节点 */ rootCreatable?: boolean; } export interface TreeSelectProps extends OptionsControlProps { placeholder?: any; autoComplete?: Api; } export interface TreeSelectState { isOpened: boolean; isFocused: boolean; inputValue: string; } export default class TreeSelectControl extends React.Component<TreeSelectProps, TreeSelectState> { static defaultProps: { placeholder: string; optionsPlaceholder: string; multiple: boolean; clearable: boolean; rootLabel: string; rootValue: string; showIcon: boolean; joinValues: boolean; extractValue: boolean; delimiter: string; resetValue: string; }; container: React.RefObject<HTMLDivElement>; input: React.RefObject<any>; cache: { [propName: string]: any; }; target: HTMLElement | null; targetRef: (ref: any) => HTMLElement | null; constructor(props: TreeSelectProps); componentDidMount(): void; open(fn?: () => void): void; close(): void; handleFocus(): void; handleBlur(): void; handleKeyPress(e: React.KeyboardEvent): void; validate(): any; removeItem(index: number, e?: React.MouseEvent<HTMLElement>): void; handleChange(value: any): void; handleInputChange(value: string): void; handleInputKeyDown(event: React.KeyboardEvent): void; clearValue(): void; filterOptions(options: Array<Option>, keywords: string): Array<Option>; loadRemote(input: string): Promise<{ options: object[]; }> | undefined; mergeOptions(options: Array<object>): object[]; reload(): void; handleOutClick(e: React.MouseEvent<any>): void; handleResultChange(value: Array<Option>): void; renderItem(item: Option): string; renderOuter(): JSX.Element; render(): JSX.Element; } export declare class TreeSelectControlRenderer extends TreeSelectControl { }