import React from 'react'; import { DetailField, DetailFieldConfig, DetailFieldProps, IDetailField } from '../common'; import { DetailFieldConfigs } from '../'; import { IDetailItem } from '../../../steps/detail'; import { ColumnsConfig } from '../../../interface'; export interface GroupFieldConfig extends DetailFieldConfig { type: 'group'; fields: DetailFieldConfigs[]; childColumns?: ColumnsConfig; } export interface IGroupField { columns?: ColumnsConfig; styles?: object; children: React.ReactNode[]; } interface IGroupFieldState { } export default class GroupField extends DetailField implements IDetailField { getALLComponents: (type: any) => typeof DetailField; detailFields: Array | null>; detailFieldsMounted: Array; constructor(props: DetailFieldProps); get: () => Promise; handleMount: (detailFieldIndex: number) => Promise; handleChange: (formFieldIndex: number, value: any) => Promise; handleValueSet: (detailFieldIndex: number, path: string, value: any, options?: { noPathCombination?: boolean; }) => Promise; handleValueUnset: (detailFieldIndex: number, path: string, options?: { noPathCombination?: boolean; }) => Promise; handleValueListAppend: (detailFieldIndex: number, path: string, value: any, options?: { noPathCombination?: boolean; }) => Promise; handleValueListSplice: (detailFieldIndex: number, path: string, index: number, count: number, options?: { noPathCombination?: boolean; }) => Promise; renderComponent: (props: IGroupField) => JSX.Element; /** * 表单项组件 - UI渲染方法 * 各UI库需重写该方法 * @param props */ renderItemComponent: (props: IDetailItem) => JSX.Element; render: () => JSX.Element; } export {};