jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
51 lines (50 loc) • 2 kB
TypeScript
import React from 'react';
import type { ActionObject, Option, Options } from 'jamis-core';
import type { NestedSelectProps } from '../types';
interface NestedSelectState {
isOpened?: boolean;
isFocused?: boolean;
inputValue?: string;
stack: Array<Array<Option>>;
}
export default class NestedSelectControl extends React.Component<NestedSelectProps, NestedSelectState> {
static defaultProps: Partial<NestedSelectProps>;
target: any;
input: HTMLInputElement;
state: NestedSelectState;
domRef(ref: any): void;
componentDidUpdate(prevProps: NestedSelectProps): void;
doAction(action: ActionObject, data: object, throwErrors: boolean): void;
dispatchEvent(eventName: string, eventData?: any): Promise<boolean>;
handleOutClick(e: React.MouseEvent<any>): void;
handleResultClear(): void;
close(): void;
removeItem(index: number, e?: React.MouseEvent<HTMLElement>): Promise<void>;
renderValue(option: Option, key?: any): any;
handleOptionClick(option: Option): Promise<void>;
handleCheck(option: Option | Options, index?: number): Promise<void>;
allChecked(options: Options): boolean;
partialChecked(options: Options): boolean;
reload(): void;
getValue(): any;
onFocus(e: any): Promise<void>;
onBlur(e: any): Promise<void>;
getTarget(): HTMLElement;
handleKeyPress(e: React.KeyboardEvent): void;
handleInputKeyDown(event: React.KeyboardEvent): void;
handleInputChange(inputValue: string): void;
handleResultChange(value: Array<Option>): Promise<void>;
renderOptions(): JSX.Element;
/**
* 渲染在popover中的搜索结果
*/
renderSearchResult(): JSX.Element;
onMouseEnter(option: Option, index: number, e: MouseEvent): void;
renderOuter(): JSX.Element;
render(): JSX.Element;
}
export declare class NestedSelectControlRenderer extends NestedSelectControl {
}
export declare class CascaderSelectControlRenderer extends NestedSelectControl {
}
export {};