jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
47 lines (46 loc) • 1.82 kB
TypeScript
import React from 'react';
import type { Option, Options } from 'jamis-core';
import type { TransferProps } from '../../types';
interface TransferState {
inputValue: string;
searchResult: Options | null;
isTreeDeferLoad: boolean;
resultSelectMode: 'list' | 'tree' | 'table';
}
export declare class Transfer<T extends TransferProps> extends React.Component<T, TransferState> {
static defaultProps: Partial<TransferProps>;
state: TransferState;
valueArray: Options;
availableOptions: Options;
unmounted: boolean;
cancelSearch?: () => void;
treeRef: any;
inputRef: React.RefObject<HTMLInputElement>;
/** 过滤后的选项 */
filtedOptions: Option[];
componentDidMount(): void;
static getDerivedStateFromProps(props: TransferProps): {
isTreeDeferLoad: boolean;
resultSelectMode: string;
};
componentWillUnmount(): void;
setInputRef: (ref: React.RefObject<HTMLInputElement>) => void;
domRef(ref: any): void;
toggleAll: () => void;
selectAll: () => void;
clearAll: () => void;
handleSearchKeyDown: (e: React.KeyboardEvent<any>) => void;
handleSearch: import("lodash").DebouncedFunc<(inputValue: string) => void>;
handleSeachCancel: () => void;
lazySearch: import("lodash").DebouncedFunc<() => Promise<void>>;
getFlattenArr(options: Array<Option>): Option[];
handleSearchTreeChange(values: Array<Option>, searchOptions: Array<Option>, onChange?: (valus: Option[]) => void): void;
handleKeyDownForInput: () => void;
renderSelect: (props: TransferProps & {
onToggleAll?: () => void;
}) => JSX.Element;
renderOptions: (props: TransferProps, isSearchResult: boolean) => JSX.Element;
renderResult: () => JSX.Element;
render(): JSX.Element;
}
export default Transfer;