Dialog Fields
Un wrapper de react-final-form que proporciona algunos componentes útiles de alto nivel para construir formularios.
Descripción corta
El propósito del componente DFDialog es facilitar la creación de formularios, ya que utiliza react-final-form internamente.
Soporta varios tipos de campos predefinidos, pero el usuario puede extenderlo registrando nuevos tipos mediante registerDialogControl.
Controles
- Controles base
plain- texto estáticotext- texto editablemulti-text- array de strings definido por el usuariocheckbox- casilla de verificacióntumbler- interruptorradio- botón de opcióneditable-list- lista de strings eliminablesmulti-editable-list- lista múltiple de strings eliminablestext area- área de textoselect- selectorblock- permite añadir ReactNode
- Registro de controles personalizados
Características
- Vista en línea y modal
- Un tab y varios formularios en tabs
- Tabs verticales/horizontales
- Campos y tabs ocultos
- Campos enlazados por valores
- Validación a nivel de campo
- Validación a nivel de formulario
- Tabs virtualizados
- Tabs clonables
- Campos agrupados
Instalación
$ npm install @gravity-ui/dialog-fields
# Usa la versión requerida de react/react-dom en caso de que aún no las hayas instalado
$ npm install @gravity-ui/dialog-fields react@18 react-dom@18
Dependiendo de tu gestor de paquetes, es posible que necesites instalar peerDependencies manualmente.
Uso
import {DFDialog, FormApi} from '@gravity-ui/dialog-fields';
interface FormValues {
firstName: string;
lastName: string;
}
function MyForm() {
return (
<DFDialog<FormValues>
visible={true}
headerProps={{
title: 'Mi formulario',
}}
onAdd={(form) => {
console.log(form.getState().values);
return Promise.resolve();
}}
fields={[
{
name: 'firstName',
type: 'text',
caption: 'Nombre',
tooltip: 'Descripción para el campo nombre',
},
{
name: 'lastName',
type: 'text',
caption: 'Apellido',
tooltip: 'Descripción para el campo apellido',
},
]}
/>
);
}
Consulta más ejemplos en storybook.
Acerca de la librería
Estrellas
6
Versión
6.0.6
Última actualización
08.10.2025
Repositorio
github.com/gravity-ui/dialog-fields
Licencia
MIT License