From ae3772af3e824364bdc3e64cf1ee6a3e85d175c5 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Thu, 30 May 2024 22:57:49 +0300 Subject: [PATCH] feat: expose setValue on Field instance and slot props closes #4755 --- .changeset/short-frogs-shake.md | 5 +++++ packages/vee-validate/src/Field.ts | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 .changeset/short-frogs-shake.md diff --git a/.changeset/short-frogs-shake.md b/.changeset/short-frogs-shake.md new file mode 100644 index 000000000..528e79a80 --- /dev/null +++ b/.changeset/short-frogs-shake.md @@ -0,0 +1,5 @@ +--- +"vee-validate": patch +--- + +feat: expose setValue on Field instance and slot props closes #4755 diff --git a/packages/vee-validate/src/Field.ts b/packages/vee-validate/src/Field.ts index 6e442668a..f80797423 100644 --- a/packages/vee-validate/src/Field.ts +++ b/packages/vee-validate/src/Field.ts @@ -45,7 +45,7 @@ export interface ComponentFieldBindingObject extends SharedBinding interface FieldSlotProps extends Pick< FieldContext, - 'validate' | 'resetField' | 'handleChange' | 'handleReset' | 'handleBlur' | 'setTouched' | 'setErrors' + 'validate' | 'resetField' | 'handleChange' | 'handleReset' | 'handleBlur' | 'setTouched' | 'setErrors' | 'setValue' > { field: FieldBindingObject; componentField: ComponentFieldBindingObject; @@ -145,6 +145,7 @@ const FieldImpl = /** #__PURE__ */ defineComponent({ meta, checked, setErrors, + setValue, } = useField(name, rules, { validateOnMount: props.validateOnMount, bails: props.bails, @@ -242,6 +243,7 @@ const FieldImpl = /** #__PURE__ */ defineComponent({ handleBlur: sharedProps.value.onBlur, setTouched, setErrors, + setValue, }; } @@ -252,6 +254,7 @@ const FieldImpl = /** #__PURE__ */ defineComponent({ errorMessage, setErrors, setTouched, + setValue, reset: resetField, validate: validateField, handleChange, @@ -318,6 +321,7 @@ export const Field = FieldImpl as typeof FieldImpl & { setTouched: FieldContext['setTouched']; reset: FieldContext['resetField']; validate: FieldContext['validate']; + setValue: FieldContext['setValue']; handleChange: FieldContext['handleChange']; $slots: { default: (arg: FieldSlotProps) => VNode[];