form
Создает форму, обернутую вокруг заданных данных модели. Форма представляет собой простое FieldTree данных модели.
API
function form<TModel>(model: WritableSignal<TModel>): FieldTree<TModel>; function form<TModel>( model: WritableSignal<TModel>, schemaOrOptions: SchemaOrSchemaFn<TModel> | FormOptions<TModel>, ): FieldTree<TModel>; function form<TModel>( model: WritableSignal<TModel>, schema: SchemaOrSchemaFn<TModel>, options: FormOptions<TModel>, ): FieldTree<TModel>;
function form<TModel>(model: WritableSignal<TModel>): FieldTree<TModel>;
Создает форму, обернутую вокруг заданных данных модели. Форма представляет собой простое FieldTree данных модели.
form использует заданную модель как источник истины и не поддерживает собственную копию данных. Это означает, что обновление значения в FieldState также обновляет исходную переданную модель.
WritableSignal<TModel>Записываемый сигнал, содержащий данные модели для формы. Полученная структура полей будет соответствовать форме модели, а все изменения данных формы будут записываться в модель.
FieldTree<TModel>
const nameModel = signal({first: '', last: ''});
const nameForm = form(nameModel);
nameForm.first().value.set('John');
nameForm().value(); // {first: 'John', last: ''}
nameModel(); // {first: 'John', last: ''}function form<TModel>(model: WritableSignal<TModel>, schemaOrOptions: SchemaOrSchemaFn<TModel> | FormOptions<TModel>): FieldTree<TModel>;
Создает форму, обернутую вокруг заданных данных модели. Форма представляет собой простое FieldTree данных модели.
form использует заданную модель как источник истины и не поддерживает собственную копию данных. Это означает, что обновление значения в FieldState также обновляет исходную переданную модель.
WritableSignal<TModel>Записываемый сигнал, содержащий данные модели для формы. Полученная структура полей будет соответствовать форме модели, а все изменения данных формы будут записываться в модель.
SchemaOrSchemaFn<TModel> | FormOptions<TModel>Второй аргумент может быть одним из следующих:
- Схема или функция, используемая для задания логики формы (например, проверки, отключенных полей и т. д.). При передаче схемы параметры формы при необходимости можно передать третьим аргументом.
- Параметры формы
FieldTree<TModel>
const nameModel = signal({first: '', last: ''});
const nameForm = form(nameModel);
nameForm.first().value.set('John');
nameForm().value(); // {first: 'John', last: ''}
nameModel(); // {first: 'John', last: ''}
Форму также можно создать с помощью схемы — набора правил, определяющих логику формы. Схема может быть либо предварительно заданной схемой, созданной с помощью функции schema, либо функцией, которая строит схему, связывая логику с частями структуры полей.
const nameForm = form(signal({first: '', last: ''}), (name) => {
required(name.first);
pattern(name.last, /^[a-z]+$/i, {message: 'Alphabet characters only'});
});
nameForm().valid(); // false
nameForm().value.set({first: 'John', last: 'Doe'});
nameForm().valid(); // true
function form<TModel>(model: WritableSignal<TModel>, schema: SchemaOrSchemaFn<TModel>, options: FormOptions<TModel>): FieldTree<TModel>;
Создает форму, обернутую вокруг заданных данных модели. Форма представляет собой простое FieldTree данных модели.
form использует заданную модель как источник истины и не поддерживает собственную копию данных. Это означает, что обновление значения в FieldState также обновляет исходную переданную модель.
WritableSignal<TModel>Записываемый сигнал, содержащий данные модели для формы. Полученная структура полей будет соответствовать форме модели, а все изменения данных формы будут записываться в модель.
SchemaOrSchemaFn<TModel>Схема или функция, используемая для задания логики формы (например, проверки, отключенных полей и т. д.).
FieldTree<TModel>
const nameModel = signal({first: '', last: ''});
const nameForm = form(nameModel);
nameForm.first().value.set('John');
nameForm().value(); // {first: 'John', last: ''}
nameModel(); // {first: 'John', last: ''}
Форму также можно создать с помощью схемы — набора правил, определяющих логику формы. Схема может быть либо предварительно заданной схемой, созданной с помощью функции schema, либо функцией, которая строит схему, связывая логику с частями структуры полей.
const nameForm = form(signal({first: '', last: ''}), (name) => {
required(name.first);
validate(name.last, ({value}) => !/^[a-z]+$/i.test(value()) ? {kind: 'alphabet-only'} : undefined);
});
nameForm().valid(); // false
nameForm().value.set({first: 'John', last: 'Doe'});
nameForm().valid(); // true
Описание
Создает форму, обернутую вокруг заданных данных модели. Форма представляет собой простое FieldTree данных модели.
form использует заданную модель как источник истины и не поддерживает собственную копию данных. Это означает, что обновление значения в FieldState также обновляет исходную переданную модель.
Примечания по использованию
const nameModel = signal({first: '', last: ''});
const nameForm = form(nameModel);
nameForm.first().value.set('John');
nameForm().value(); // {first: 'John', last: ''}
nameModel(); // {first: 'John', last: ''}
Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/forms/signals/form