applyWhen()
function applyWhen<TForm, TValue>(
conditionField,
condition,
callback): void;
Defined in: core/behavior/compose-behavior.ts:173
Условное применение behavior схем (аналог applyWhen из validation API)
⚠️ ВАЖНО: Эта функция НЕ создаёт новые behaviors при каждом изменении условия! Вместо этого behaviors регистрируются ОДИН РАЗ при первом вызове и затем просто не выполняются, если условие не выполнено.
Это отличается от старой реализации, которая создавала утечку памяти, регистрируя behaviors при каждом изменении conditionField.
Type Parameters
TForm
TForm extends FormFields
TValue
TValue extends FormValue
Parameters
conditionField
Поле для проверки условия
FieldPathNode<TForm, TValue, unknown> | undefined
condition
(value) => boolean
Функция проверки условия
callback
(path) => void
Callback для применения behavior схем
Returns
void
Example
// Применить addressBehavior только когда sameAsRegistration === false
applyWhen(
path.sameAsRegistration,
(value) => value === false,
(path) => {
apply(path.residenceAddress, addressBehavior);
}
);
// Или с прямым использованием path
applyWhen(
path.hasProperty,
(value) => value === true,
(path) => {
apply(path.properties, propertyBehavior);
// Можно применить несколько схем
apply([path.properties, path.items], arrayBehavior);
}
);