edit
Des contrôles tout prêts pour une colonne modifiable, et son éditeur.
| Type | EditChecks<T, V> |
|---|---|
| Par défaut | non défini |
Modifiable en direct (update()) | Oui — en redonnant les colonnes (update({ columns })) |
| Déclaré dans | packages/core/src/columns/defs.ts |
Ce qu’il fait
Section intitulée « Ce qu’il fait »Contrôlés dans cet ordre, après que le codec a lu la valeur :
required: une valeur vide est refusée.min,max: comparés par le codec de la colonne — un nombre, unDay, un instant.pattern: une expression régulière (ou sa source) que tout le texte doit suivre ; les drapeauxg,yetmsont retirés.options: les valeurs permises, une liste ou une fonction(row, context); la valeur actuelle de la cellule passe toujours. Une colonne à liste se choisit dans l’éditeur de liste (editors({ list: listEditor }), de@dzgrid/dom/editors-list).
maxLength limite ce que le champ accepte ; editor nomme votre propre partie d’édition. Une règle fautive est
signalée par un avertissement invalid-column à columns.<id>.edit.<key>, et cette règle est ignorée.
validate passe après eux.
import { createGrid, type GridMessages } from '@dzgrid/dom';import { edit } from '@dzgrid/dom/edit';import { editors } from '@dzgrid/dom/editors';import { FR_EDIT } from '@dzgrid/dom/locales/fr-edit';import { FR_EDITORS } from '@dzgrid/dom/locales/fr-editors';import { FR } from '@dzgrid/dom/locales/fr';
type Gnome = { id: string; name: string; hat: string; height: number };
const messages: GridMessages = { ...FR, text: { ...FR.text, ...FR_EDIT.text, ...FR_EDITORS.text } };
createGrid<Gnome>(document.getElementById('nains')!, { rows: [{ id: 'g1', name: 'Barnaby', hat: 'red', height: 31 }], columns: [ { id: 'name', header: 'Nom', editable: true, edit: { required: true, maxLength: 40 } }, { id: 'height', header: 'Taille (cm)', type: 'number', editable: true, edit: { min: 5, max: 120 } }, ], getRowId: (r) => r.id, messages, features: [edit<Gnome>(), editors()],});Videz un Nom, ou donnez une Taille de plus de 120 : la valeur est refusée.