/** * 纯组件版本的 combo 实现 * * 只能用在
里面。 * * 示例: * * console.log(values)} * > * {({control, getValues, setValue, handleSubmit}) => ( * <> * ( * <> * ( * * )} * /> * * ( * * )} * /> * * )} * /> * * )} * */ /// import { ClassNamesFn, LocaleProps, ThemeProps, TranslateFn } from 'amis-core'; import React from 'react'; import { Control, RegisterOptions, UseFieldArrayProps, UseFormReturn } from 'react-hook-form'; import { FormFieldProps } from './FormField'; export interface ComboProps extends ThemeProps, LocaleProps, Omit, UseFieldArrayProps { itemRender: (methods: UseFormReturn, index: number) => JSX.Element | null; control: Control; fieldClassName?: string; rules?: Omit & { [propName: string]: any; }; /** * 要不要包裹 label 之类的 */ wrap?: boolean; /** * 是否多行模式 */ multiLine?: boolean; itemsWrapperClassName?: string; itemClassName?: string; scaffold?: Record; addButtonClassName?: string; addButtonText?: string; addable?: boolean; maxLength?: number; minLength?: number; removable?: boolean; } export declare function Combo({ control, name, wrap, mode, label, labelAlign, labelClassName, description, fieldClassName, className, style, multiLine, itemsWrapperClassName, itemClassName, addButtonClassName, itemRender, translate: __, classnames: cx, addable, scaffold, addButtonText, removable, rules, isRequired, minLength, maxLength }: ComboProps): React.JSX.Element; export interface ComboItemProps { value: any; control: Control; itemRender: (methods: UseFormReturn, index: number) => JSX.Element | null; update: (index: number, data: Record) => void; index: number; translate: TranslateFn; classnames: ClassNamesFn; formRef: (form: UseFormReturn | null, index: number) => void; } export declare function ComboItem({ value, itemRender, index, translate, update, classnames: cx, formRef }: ComboItemProps): React.JSX.Element; declare const _default: { new (props: Omit, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }, keyof ThemeProps> & import("packages/amis-core/lib/theme").ThemeOuterProps): { ref: any; childRef(ref: any): void; getWrappedInstance(): any; render(): React.JSX.Element; context: unknown; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }, keyof ThemeProps> & import("packages/amis-core/lib/theme").ThemeOuterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }, keyof ThemeProps> & import("packages/amis-core/lib/theme").ThemeOuterProps>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }, keyof ThemeProps> & import("packages/amis-core/lib/theme").ThemeOuterProps>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }, keyof ThemeProps> & import("packages/amis-core/lib/theme").ThemeOuterProps>, prevState: Readonly<{}>): any; componentDidUpdate?(prevProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }, keyof ThemeProps> & import("packages/amis-core/lib/theme").ThemeOuterProps>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }, keyof ThemeProps> & import("packages/amis-core/lib/theme").ThemeOuterProps>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }, keyof ThemeProps> & import("packages/amis-core/lib/theme").ThemeOuterProps>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }, keyof ThemeProps> & import("packages/amis-core/lib/theme").ThemeOuterProps>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }, keyof ThemeProps> & import("packages/amis-core/lib/theme").ThemeOuterProps>, nextState: Readonly<{}>, nextContext: any): void; }; displayName: string; contextType: React.Context; ComposedComponent: React.ComponentType<{ new (props: Omit, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }): { ref: any; childRef(ref: any): void; getWrappedInstance(): any; render(): React.JSX.Element; context: unknown; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>) => {} | Pick<{}, K_1> | null) | Pick<{}, K_1> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; /** * 要不要包裹 label 之类的 */ translate?: ((str: string, ...args: any[]) => string) | undefined; }>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>, prevState: Readonly<{}>): any; componentDidUpdate?(prevProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>, nextState: Readonly<{}>, nextContext: any): void; }; displayName: string; contextType: React.Context; ComposedComponent: React.ComponentType; } & import("hoist-non-react-statics").NonReactStatics & { ComposedComponent: typeof Combo; }>; } & import("hoist-non-react-statics").NonReactStatics<{ new (props: Omit, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }): { ref: any; childRef(ref: any): void; getWrappedInstance(): any; render(): React.JSX.Element; context: unknown; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>) => {} | Pick<{}, K_1> | null) | Pick<{}, K_1> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; /** * 要不要包裹 label 之类的 */ translate?: ((str: string, ...args: any[]) => string) | undefined; }>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>, prevState: Readonly<{}>): any; componentDidUpdate?(prevProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>, nextState: Readonly<{}>, nextContext: any): void; }; displayName: string; contextType: React.Context; ComposedComponent: React.ComponentType; } & import("hoist-non-react-statics").NonReactStatics & { ComposedComponent: typeof Combo; }, {}> & { ComposedComponent: { new (props: Omit, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }): { ref: any; childRef(ref: any): void; getWrappedInstance(): any; render(): React.JSX.Element; context: unknown; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>) => {} | Pick<{}, K_1> | null) | Pick<{}, K_1> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; /** * 要不要包裹 label 之类的 */ translate?: ((str: string, ...args: any[]) => string) | undefined; }>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>, prevState: Readonly<{}>): any; componentDidUpdate?(prevProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly, keyof LocaleProps> & { locale?: string | undefined; translate?: ((str: string, ...args: any[]) => string) | undefined; }>, nextState: Readonly<{}>, nextContext: any): void; }; displayName: string; contextType: React.Context; ComposedComponent: React.ComponentType; } & import("hoist-non-react-statics").NonReactStatics & { ComposedComponent: typeof Combo; }; }; export default _default;