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