/// import React from 'react'; import _ from 'lodash'; import { ThemeProps } from 'amis-core'; import { LocaleProps } from 'amis-core'; export interface HistoryRecord { /** 历史记录值 */ value: string; /** 历史记录生成的unix时间戳 */ timestamp?: number; } export interface SearchHistoryOptions { /** 是否开启历史记录 */ enable: boolean; /** 本地存储历史记录的key */ key?: string; /** 历史记录数量上限 */ limit?: number; /** 历史记录下拉面板CSS类名 */ dropdownClassName?: string; } export interface SearchBoxProps extends ThemeProps, LocaleProps { name?: string; disabled?: boolean; mini?: boolean; enhance?: boolean; clearable?: boolean; searchImediately?: boolean; onChange?: (text: string) => void; placeholder?: string; defaultValue?: string; value?: string; active?: boolean; defaultActive?: boolean; onActiveChange?: (active: boolean) => void; onSearch?: (value: string) => void; onCancel?: () => void; onFocus?: () => void; onBlur?: () => void; /** 历史记录配置 */ history?: SearchHistoryOptions; } export interface SearchBoxState { isFocused: boolean; isHistoryOpened: boolean; inputValue: string; historyRecords: HistoryRecord[]; } export declare class SearchBox extends React.Component { inputRef: React.RefObject; static defaultProps: { mini: boolean; enhance: boolean; clearable: boolean; searchImediately: boolean; history: Required; }; state: { isHistoryOpened: boolean; isFocused: boolean; inputValue: string; historyRecords: any[]; }; lazyEmitSearch: _.DebouncedFunc<() => void>; componentDidUpdate(prevProps: SearchBoxProps): void; componentWillUnmount(): void; handleActive(): void; handleCancel(): void; handleChange(e: React.ChangeEvent): void; handleSearch(): void; handleKeyDown(e: React.KeyboardEvent): void; handleClear(): void; handleFocus(): void; handleBlur(e: React.FocusEvent): void; handleHistoryRecordSelect(record: HistoryRecord): void; /** 获取历史搜索配置 */ getHistoryOptions(): Required; /** 获取历史记录 */ getHistoryRecords(): any[]; /** 清空历史记录 */ clearHistoryRecords(): HistoryRecord[]; /** 删除一条历史记录 */ removeHistoryRecord(record: HistoryRecord): HistoryRecord[]; /** 新增一条历史记录 */ insertHistoryRecord(value: string): HistoryRecord[]; renderInput(isHistoryMode?: boolean): JSX.Element; renderTag(item: HistoryRecord, index: number): JSX.Element; renderHitoryMode(): JSX.Element; render(): JSX.Element; } declare const _default: { new (props: Omit & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps): { ref: any; childRef(ref: any): void; getWrappedInstance(): any; render(): JSX.Element; context: any; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps> & Readonly<{ children?: import("react").ReactNode; }>; state: Readonly<{}>; refs: { [key: string]: import("react").ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, prevState: Readonly<{}>): any; componentDidUpdate?(prevProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps, keyof ThemeProps> & import("amis-core/lib/theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void; }; displayName: string; contextType: import("react").Context; ComposedComponent: import("react").ComponentType & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps> & { themeKey?: string | undefined; }>; } & import("hoist-non-react-statics").NonReactStatics & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps> & { themeKey?: string | undefined; }, {}> & { ComposedComponent: import("react").ComponentType & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; } & ThemeProps> & { themeKey?: string | undefined; }; }; export default _default;