Skip to content

Latest commit

 

History

History
87 lines (73 loc) · 4.03 KB

README-ru.md

File metadata and controls

87 lines (73 loc) · 4.03 KB

Краткое описание

Компонент DFDialog предназначен для упрощения создания форм и использует библиотеку react-final-form. Он поддерживает несколько предустановленных типов полей, список которых можно расширить, зарегистрировав новые с помощью registerDialogControl.

Контролы

  • Базовые контролы:
    • plain — статический текст;
    • text — редактируемый текст;
    • multi-text — пользовательский массив строк;
    • checkbox — чекбокс;
    • tumbler — переключатель;
    • radio — радиокнопка;
    • editable-list — список с возможностью удаления строк;
    • multi-editable-list — многоуровневый список с возможностью удаления строк;
    • text area — текстовая область;
    • select — селект (выпадающий элемент);
    • block — позволяет добавить ReactNode.
  • Пользовательские контролы.

Функциональные возможности

Установка

npm install @gravity-ui/dialog-fields

Необходимо установить все обязательные peer-зависимости:

npm install -D  @gravity-ui/uikit@^5 @bem-react/[email protected] react@^17

Использование

import {DFDialog, FormApi} from '@gravity-ui/dialog-fields';

interface FormValues {
  firstName: string;
  lastName: string;
}

function MyForm() {
  return (
    <DFDialog<FormValues>
      visible={true}
      headerProps={{
        title: 'My form',
      }}
      onAdd={(form) => {
        console.log(form.getState().values);
        return Promise.resolve();
      }}
      fields={[
        {
          name: 'firstName',
          type: 'text',
          caption: 'First name',
          tooltip: 'Description for first name field',
        },
        {
          name: 'lastName',
          type: 'text',
          caption: 'LastName',
          tooltip: 'Description for last name field',
        },
      ]}
    />
  );
}

C дополнительными примерами можно ознакомиться в Storybook.