From 7ce9d67173800e80e4b05999d72c0ed12e48ad32 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Wed, 24 May 2023 03:50:45 +0300 Subject: [PATCH] feat(breaking): disable v-model support by default closes #4283 --- .changeset/fifty-weeks-eat.md | 5 +++++ packages/vee-validate/src/Field.ts | 1 + packages/vee-validate/src/useField.ts | 2 +- packages/vee-validate/tests/Form.spec.ts | 1 + packages/vee-validate/tests/useField.spec.ts | 3 ++- 5 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 .changeset/fifty-weeks-eat.md diff --git a/.changeset/fifty-weeks-eat.md b/.changeset/fifty-weeks-eat.md new file mode 100644 index 000000000..37b81159f --- /dev/null +++ b/.changeset/fifty-weeks-eat.md @@ -0,0 +1,5 @@ +--- +'vee-validate': minor +--- + +feat(breaking): disable v-model support by default closes #4283 diff --git a/packages/vee-validate/src/Field.ts b/packages/vee-validate/src/Field.ts index 8651ce8bf..54a66985f 100644 --- a/packages/vee-validate/src/Field.ts +++ b/packages/vee-validate/src/Field.ts @@ -147,6 +147,7 @@ const FieldImpl = /** #__PURE__ */ defineComponent({ label, validateOnValueUpdate: false, keepValueOnUnmount: keepValue, + syncVModel: true, }); // If there is a v-model applied on the component we need to emit the `update:modelValue` whenever the value binding changes diff --git a/packages/vee-validate/src/useField.ts b/packages/vee-validate/src/useField.ts index b8a5df121..8e93705a6 100644 --- a/packages/vee-validate/src/useField.ts +++ b/packages/vee-validate/src/useField.ts @@ -453,7 +453,7 @@ function normalizeOptions(opts: Partial> | undefine validateOnValueUpdate: true, keepValueOnUnmount: undefined, modelPropName: 'modelValue', - syncVModel: true, + syncVModel: false, controlled: true, }); diff --git a/packages/vee-validate/tests/Form.spec.ts b/packages/vee-validate/tests/Form.spec.ts index 04cdd1f89..12599c878 100644 --- a/packages/vee-validate/tests/Form.spec.ts +++ b/packages/vee-validate/tests/Form.spec.ts @@ -2814,6 +2814,7 @@ describe('
', () => { type: 'checkbox', uncheckedValue: false, checkedValue: true, + syncVModel: true, }); return { diff --git a/packages/vee-validate/tests/useField.spec.ts b/packages/vee-validate/tests/useField.spec.ts index e8bfc6bfa..3e2cbba53 100644 --- a/packages/vee-validate/tests/useField.spec.ts +++ b/packages/vee-validate/tests/useField.spec.ts @@ -561,7 +561,7 @@ describe('useField()', () => { modelValue: String, }, setup() { - const { value, errorMessage } = useField('field'); + const { value, errorMessage } = useField('field', undefined, { syncVModel: true }); return { value, @@ -691,6 +691,7 @@ describe('useField()', () => { setup() { const { value, errorMessage } = useField('field', undefined, { modelPropName: 'textVal', + syncVModel: true, }); return {