jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
51 lines (50 loc) • 1.83 kB
TypeScript
/**
* @file 移动端人员、部门、角色、岗位选择
*/
import React from 'react';
import type { Option } from 'jamis-core';
import Sortable from 'sortablejs';
import type { UserSelectProps } from './types';
interface UserSelectState {
isOpened: boolean;
isSearch: boolean;
isSelectOpened: boolean;
inputValue: string;
breadList: Array<any>;
options: Array<Option>;
tempSelection: Array<Option>;
selection: Array<Option>;
searchList: Array<Option>;
searchLoading: boolean;
isEdit: boolean;
}
export declare class UserSelect extends React.Component<UserSelectProps, UserSelectState> {
cancelSearch?: Function;
sortable?: Sortable;
unmounted: boolean;
constructor(props: UserSelectProps);
static defaultProps: Partial<UserSelectProps>;
componentDidUpdate(prevProps: UserSelectProps): void;
componentWillUnmount(): void;
onClose(): void;
handleSearch(text: string): void;
handleSeachCancel(): void;
lazySearch: import("lodash").DebouncedFunc<(text: string) => void>;
swapSelectPosition(oldIndex: number, newIndex: number): void;
dragRef(ref: any): void;
initDragging(): void;
destroyDragging(): void;
onOpen(): void;
handleBack(): void;
handleExpand(option: Option): Promise<void>;
handleSelectChange(option: Option, isReplace?: boolean): false | undefined;
onDelete(option: Option, isTemp?: boolean): void;
handleBreadChange(option: Option, index: number): void;
handleEdit(): void;
renderIcon(option: Option, isSelect?: boolean): JSX.Element;
renderList(options?: Array<object>, key?: number | string, isSearch?: boolean): JSX.Element;
renderselectList(options?: Array<object>): JSX.Element;
renderContent(): JSX.Element;
render(): JSX.Element;
}
export default UserSelect;