Spec-Zone.ru › Angular

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 также обновляет исходную переданную модель.

@parammodelWritableSignal<TModel>

Записываемый сигнал, содержащий данные модели для формы. Полученная структура полей будет соответствовать форме модели, а все изменения данных формы будут записываться в модель.

@returnsFieldTree<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 также обновляет исходную переданную модель.

@parammodelWritableSignal<TModel>

Записываемый сигнал, содержащий данные модели для формы. Полученная структура полей будет соответствовать форме модели, а все изменения данных формы будут записываться в модель.

@paramschemaOrOptionsSchemaOrSchemaFn<TModel> | FormOptions<TModel>

Второй аргумент может быть одним из следующих:

  1. Схема или функция, используемая для задания логики формы (например, проверки, отключенных полей и т. д.). При передаче схемы параметры формы при необходимости можно передать третьим аргументом.
  2. Параметры формы
@returnsFieldTree<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 также обновляет исходную переданную модель.

@parammodelWritableSignal<TModel>

Записываемый сигнал, содержащий данные модели для формы. Полученная структура полей будет соответствовать форме модели, а все изменения данных формы будут записываться в модель.

@paramschemaSchemaOrSchemaFn<TModel>

Схема или функция, используемая для задания логики формы (например, проверки, отключенных полей и т. д.).

@paramoptionsFormOptions<TModel>

Параметры формы

@returnsFieldTree<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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API