Комопненты <Inputs>
<AutoCompleteInput><CodeInput><DateInput><FileInput><GalleryInput><NumberInput><PasswordInput><RadioGroupInput><SelectInput><SwitchInput><TextInput><TranslatableInput><ReferenceInput><ReferenceManyInput><ReferenceArrayInput><Input>
Props
| Props | Тип |
|---|---|
| name (required) | string |
Базовые <Input> компоненты
<AutoCompleteInput><CodeInput><DateInput><FileInput><GalleryInput><NumberInput><PasswordInput><RadioGroupInput><SelectInput><SwitchInput><TextInput>
Пример использования
<Create>{(createProps) => (<SimpleForm{...createProps}initialValue={{title: '',body: '',date: '',}}><Space direction="vertical"><TextInput label="Title" name="title" placeholder="Enter title" /><TextInput label="Body" name="body" placeholder="Enter body" /><DateInput name="date" /></Space></SimpleForm>)}</Create>
SelectInput
Пользователь может не передавать options, в этом случаи options будут вычислятся из данных, конкретного ресурса.
Для этого нужно передать два параметра:
valuePropName- ключ, по которому будут выбрано значение из записи и будет использоватся как значение для<option>titlePropName- ключ, по которому будут выбрано значение из записи и будет использоватся какlabelдля<option>
Пример использования
<Create>{(createProps) => (<SimpleForm{...createProps}initialValue={{author: '',}}><Space direction="vertical"><SelectInput name="author" valuePropName="_id" titlePropName="username" /></Space></SimpleForm>)}</Create>
Также можно передать <options>, которые будут использоватся в <select>.
Пример использования
const options = [{value: "Value 1", title: "Title 1"},{value: "Value 2", title: "Title 2"},{value: "Value 3", title: "Title 3"},]<Create>{(createProps) => (<SimpleForm{...createProps}initialValue={{author: '',}}><Space direction="vertical"><SelectInput name="author" options={options}/></Space></SimpleForm>)}</Create>
TranslatableInput
Props
| Props | Тип |
|---|---|
| locales (required) | object |
| children (required) | (locale) => React Component |
Пример использования
<Create>{(createProps) => (<SimpleForm{...createProps}initialValue={{author: '',}}><Space direction="vertical"><TranslatableInput locales={locales}>{(locale) => {return (<TextInputname={`text.${locale}`}label="Text"/>);}}</TranslatableInput></Space></SimpleForm>)}</Create>
ReferenceInput
Компонент для получение одной записи из reference ресурса.
Props
| Props | Тип |
|---|---|
| source (required) | string |
| reference (required) | string |
| children (required) | React Component |
reference - название ресурса, где нужно получить данные
source - ключ, по которому нужно выбрать данные из reference
Компонент <ReferenceInput> использует dataProvider для того чтобы отправить getOne запрос с id. Полученные данные используються компонентом children.
Пример использования
<Create>{(createProps) => (<SimpleForm{...createProps}initialValue={{name: '',}}><Space direction="vertical"><ReferenceInputsource="userId"reference="users"><TextInputlabel="Author"name="name"placeholder="Enter author name"/></ReferenceInput></Space></SimpleForm>)}</Create>
ReferenceManyInput
Компонент для получение нескольких записей из reference ресурса.
Пример использования
<Create>{(createProps) => (<SimpleForm{...createProps}initialValue={{author: '',}}><Space direction="vertical"><ReferenceManyInput name="author" reference="users" label="Author"><SelectInput name="author" valuePropName="_id" titlePropName="username" /></ReferenceManyInput></Space></SimpleForm>)}</Create>
Для того чтобы использовать <ReferenceInput> нужно определить getMany метод в dataProvider. Если его нет пользователь получит сообщение об ошибке.
Компонент <ReferenceInput> использует dataProvider для того чтобы отправить getMany запрос с id. Полученные данные используються компонентом children.
ArrayInput
Компонент для управления массивом данных - добавлять, удалять, изменять позицию в массиве.
Props
| Props | Тип |
|---|---|
| name (required) | string |
| pushHandler (optional) | (arrayHelpers: Formik.ArrayHelpers) => React Component |
| removeHandler (optional) | (arrayHelpers: Formik.ArrayHelpers) => React Component |
Пример использования
<ArrayInput name="array"><InputsIterator>{({ name }) => <TextInput label="Text 1" name={`${name}.text1`} />}</InputsIterator></ArrayInput>
InputsIterator
Компонент используется для формирования layout отображения списка записей, с возможностью удаления, добавления, изменения позиции - вверх или вниз.
Props
| Props | Тип |
|---|---|
| children (required) | (name) => React Component or React.Component |
| direction (optional) | vertical or horizontal |
| actions (optional) | (arrayHelpers: Formik.ArrayHelpers) => React Component |
| actions (optional) | (arrayHelpers: Formik.ArrayHelpers) => React Component |
| addButton (optional) | (arrayHelpers: Formik.ArrayHelpers) => React Component |
| removeButton (optional) | (arrayHelpers: Formik.ArrayHelpers) => React Component |
| moveUpButton (optional) | (arrayHelpers: Formik.ArrayHelpers) => React Component |
| moveDownButton (optional) | (arrayHelpers: Formik.ArrayHelpers) => React Component |
| title (optional) | string |
| showActions (optional) | "add", "remove", "up", "down" |
| actionPosition (optional) | "header", "body" |
| customLayout (optional) | (record, arrayName) => React Component |