Перейти к основному содержимому

resetWhen()

function resetWhen<TForm>(
field,
condition,
options?): void;

Defined in: core/behavior/behaviors/reset-when.ts:76

Условный сброс поля при выполнении условия

Type Parameters

TForm

TForm extends FormFields

Parameters

field

FieldPathNode<TForm, FormValue>

Поле для сброса

condition

(form) => boolean

Функция условия (true = reset)

options?

ResetWhenOptions & object

Опции (resetValue, onlyIfDirty, debounce)

Returns

void

Examples

import { resetWhen, type BehaviorSchemaFn } from '@reformer/core/behaviors';

interface CheckoutForm {
paymentType: 'card' | 'cash';
cardNumber: string;
}

export const checkoutBehavior: BehaviorSchemaFn<CheckoutForm> = (path) => {
// Когда выбрано НЕ card — обнуляем номер карты в пустую строку
resetWhen(path.cardNumber, (form) => form.paymentType !== 'card', {
resetValue: '',
});
};
import { resetWhen, type BehaviorSchemaFn } from '@reformer/core/behaviors';

interface CarForm {
loanType: 'mortgage' | 'car' | 'consumer';
carPrice: number;
}

export const carBehavior: BehaviorSchemaFn<CarForm> = (path) => {
// Если пользователь не вводил carPrice — оставляем default из схемы.
// Сбрасываем только если поле dirty (была пользовательская правка).
resetWhen(path.carPrice, (form) => form.loanType !== 'car', {
resetValue: 0,
onlyIfDirty: true,
});
};

See

docs/llms/25-reset-when.md