FormContext
Defined in: core/types/form-context.ts:36
Единый контекст для работы с формой
Предоставляет:
form- типизированный Proxy-доступ к полям формыsetFieldValue- безопасная установка значения (emitEvent: false)
Type Parameters
TForm
TForm
Methods
setFieldValue()
setFieldValue(path, value): void;
Defined in: core/types/form-context.ts:91
Безопасно установить значение поля по строковому пути или FieldPath
Автоматически использует emitEvent: false для предотвращения
бесконечных циклов в behavior схемах.
Parameters
path
Путь к полю (строка или FieldPath)
string | FieldPathNode<TForm, unknown, unknown>
value
unknown
Новое значение
Returns
void
Example
// Сброс города при смене страны (строковый путь)
watchField(path.country, (country, ctx) => {
ctx.setFieldValue('city', null);
});
// Использование FieldPath напрямую (более типобезопасно)
watchField(path.country, (country, ctx) => {
ctx.setFieldValue(path.city, null);
});
Properties
form
readonly form: any;
Defined in: core/types/form-context.ts:67
Форма с типизированным Proxy-доступом к полям
Позволяет обращаться к полям напрямую через точечную нотацию:
ctx.form.email→ FieldNodectx.form.address.city→ FieldNode (вложенный)ctx.form.items→ ArrayNode
Example
// Получить значение
ctx.form.email.value.value
// Установить значение (⚠️ может вызвать цикл в behavior!)
ctx.form.email.setValue('new@mail.com')
// Безопасно установить значение
ctx.form.email.setValue('new@mail.com', { emitEvent: false })
// Обновить пропсы компонента
ctx.form.city.updateComponentProps({ options: cities })
// Валидация поля
await ctx.form.email.validate()
// Работа с массивами
ctx.form.items.push({ title: 'New' })
ctx.form.items.clear()