antd-crud-table API
    Preparing search index...

    Interface FieldTypeDefinition

    A self-contained description of one field type: how it renders in the table, which control edits it in the modal form, and how values are converted between record shape and form shape. Adding a new column type to CrudTable means adding exactly one entry here.

    interface FieldTypeDefinition {
        column?: (
            col: FieldColumn,
            locale: CrudTableLocale,
        ) => Partial<ProColumns<Record<PropertyKey, unknown>>>;
        formControl: (
            col: FieldColumn,
            disabled: boolean,
            locale: CrudTableLocale,
        ) => ReactNode;
        fromFormValue?: (value: unknown) => unknown;
        fromImportValue?: (value: string) => unknown;
        rules?: (col: FieldColumn, locale: CrudTableLocale) => Rule[];
        toFormValue?: (value: unknown) => unknown;
        valuePropName?: string;
    }
    Index
    column?: (
        col: FieldColumn,
        locale: CrudTableLocale,
    ) => Partial<ProColumns<Record<PropertyKey, unknown>>>

    Extra ProColumns props merged over the base column (valueType, render, ...).

    formControl: (
        col: FieldColumn,
        disabled: boolean,
        locale: CrudTableLocale,
    ) => ReactNode

    The antd control used in the create/edit modal. Return null for "no form field".

    fromFormValue?: (value: unknown) => unknown

    Convert the submitted form value back into the record shape.

    fromImportValue?: (value: string) => unknown

    Convert a raw string cell from an imported file into the record shape.

    Import values arrive as text (a CSV field, a spreadsheet cell), which is a different starting point from fromFormValue (whose input is the form control's own value - a dayjs, a boolean, an object). A type that needs no conversion omits this and the raw string is stored as-is; types whose record shape is not a string (numbers, dates, arrays, JSON) provide one. enum is resolved by the importer instead, since it needs the column's enumOptions to accept either the stored key or the exported label.

    rules?: (col: FieldColumn, locale: CrudTableLocale) => Rule[]

    Validation rules implied by the type itself (merged before user rules).

    toFormValue?: (value: unknown) => unknown

    Convert a record value into what the form control expects.

    valuePropName?: string

    Form.Item valuePropName override (e.g. 'checked' for Switch).