Комопненты <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 |