import React from 'react'; import { OptionsControlProps } from 'amis-core'; import { SchemaNode, ActionObject, PlainObject } from 'amis-core'; import { FormOptionsSchema, SchemaTpl } from '../../Schema'; /** * Picker * 文档:https://baidu.gitee.io/amis/docs/components/form/picker */ export interface PickerControlSchema extends FormOptionsSchema { type: 'picker'; /** * 可用来生成选中的值的描述文字 */ labelTpl?: SchemaTpl; /** * 建议用 labelTpl * 选中一个字段名用来作为值的描述文字 */ labelField?: string; /** * 选一个可以用来作为值的字段。 */ valueField?: string; /** * 弹窗选择框详情。 */ pickerSchema?: any; /** * 弹窗模式,dialog 或者 drawer */ modalMode?: 'dialog' | 'drawer'; /** * 内嵌模式,也就是说不弹框了。 */ embed?: boolean; } export interface PickerProps extends OptionsControlProps { modalMode: 'dialog' | 'drawer'; pickerSchema: PlainObject; labelField: string; } export interface PickerState { isOpened: boolean; isFocused: boolean; schema: SchemaNode; } export default class PickerControl extends React.PureComponent { static propsList: Array; static defaultProps: Partial; state: PickerState; input: React.RefObject; componentDidMount(): void; componentDidUpdate(prevProps: PickerProps): void; fetchOptions(): void; buildSchema(props: PickerProps): { labelTpl: any; type: string; pickerMode: boolean; syncLocation: boolean; api: string | import("amis-core").BaseApiObject | null | undefined; source: string | import("amis-core").BaseApiObject | null | undefined; keepItemSelectionOnPageChange: boolean; valueField: any; labelField: string; bulkActions: any; checkOnItemClick: boolean; }; crud: any; crudRef(ref: any): void; reload(): void; open(): void; close(): void; handleModalConfirm(values: Array, action: ActionObject, ctx: any, components: Array): void; handleChange(items: Array): Promise; 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 { }