jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
55 lines (54 loc) • 1.83 kB
TypeScript
import React from 'react';
import type { ActionObject, PlainObject, SchemaNode } from 'jamis-core';
import type { OptionsControlProps } from '../types';
interface PickerProps extends OptionsControlProps {
modalMode: 'dialog' | 'drawer';
pickerSchema: PlainObject;
labelField: string;
}
interface PickerState {
isOpened: boolean;
isFocused: boolean;
schema: SchemaNode;
}
export default class PickerControl extends React.PureComponent<PickerProps, any> {
static propsList: Array<string>;
static defaultProps: Partial<PickerProps>;
state: PickerState;
input: React.RefObject<HTMLInputElement>;
componentDidMount(): void;
componentDidUpdate(prevProps: PickerProps): void;
fetchOptions(): void;
buildSchema(props: PickerProps): {
labelTpl: any;
type: string;
pickerMode: boolean;
syncLocation: boolean;
api: import("jamis-core").Api | null | undefined;
source: import("jamis-core").Api | null | undefined;
keepItemSelectionOnPageChange: boolean;
valueField: string | undefined;
labelField: string;
bulkActions: any;
checkOnItemClick: boolean;
};
crud: any;
crudRef(ref: any): void;
reload(): void;
open(): void;
close(): void;
handleModalConfirm(values: Array<any>, action: ActionObject, ctx: any, components: Array<any>): void;
handleChange(items: Array<any>): Promise<void>;
removeItem(index: number): void;
handleKeyDown(e: React.KeyboardEvent): void;
handleFocus(): void;
handleBlur(): void;
handleClick(): void;
clearValue(): void;
renderValues(): JSX.Element;
renderBody({ popOverContainer }?: any): JSX.Element;
render(): JSX.Element;
}
export declare class PickerControlRenderer extends PickerControl {
}
export {};