diff --git a/src/api/sfc-script-setup.md b/src/api/sfc-script-setup.md index 658653a2f..0779be4cf 100644 --- a/src/api/sfc-script-setup.md +++ b/src/api/sfc-script-setup.md @@ -253,6 +253,23 @@ function inc() { } ``` +:::warning +Si vous avez une valeur `default` pour la propriété `defineModel` et que vous ne fournissez aucune valeur pour cette propriété à partir du composant parent, cela peut provoquer une désynchronisation entre les composants parent et enfant. Dans l'exemple ci-dessous, le composant parent `myRef` est undefined, mais le composant enfant `model` vaut 1 : + +```js +// composant enfant : +const model = defineModel({ default: 1 }) + +// composant parent : +const myRef = ref() +``` + +```html + +``` + +::: + ### Modificateurs et transformateurs Pour accéder aux modificateurs utilisés avec la directive `v-model`, nous pouvons déstructurer la valeur de retour de `defineModel()` comme ceci : diff --git a/src/guide/components/v-model.md b/src/guide/components/v-model.md index ac58d5de9..3828a2d80 100644 --- a/src/guide/components/v-model.md +++ b/src/guide/components/v-model.md @@ -84,6 +84,23 @@ const model = defineModel({ required: true }) const model = defineModel({ default: 0 }) ``` +:::warning +Si vous avez une valeur `default` pour la propriété `defineModel` et que vous ne fournissez aucune valeur pour cette propriété à partir du composant parent, cela peut provoquer une désynchronisation entre les composants parent et enfant. Dans l'exemple ci-dessous, le composant parent `myRef` est undefined, mais le composant enfant `model` vaut 1 : + +```js +// composant enfant : +const model = defineModel({ default: 1 }) + +// composant parent : +const myRef = ref() +``` + +```html + +``` + +::: +
@@ -211,7 +228,7 @@ const title = defineModel('title', { required: true })