Skip to main content

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);
}
);