Résout un problème de modèle de conception, qui est bien sûr attendu d'un flux MVM incluant v-model.number produisant une chaîne lorsqu'il est vide.
Lorsque j'entre un nombre puis supprime le texte de l'entrée, il se transforme en une chaîne dans l'objet de données réactif.
Il s'agit certainement d'un problème majeur de convivialité et de casting, et je ne vois pas l'intérêt de conserver un attribut de chaîne vide sur le modèle. Il devrait être épissé hors du modèle lorsqu'il est vide - tout comme vous créez de nouveaux attributs sur l'entrée de texte, cela devrait être l'inverse.
C'est certainement un problème de design pattern qui devrait être résolu, n'ayant pas besoin d'être implémenté au niveau de l'application à chaque fois, c'est un petit correctif qui ajoutera beaucoup à VueJS2, et je suis sûr que beaucoup d'autres seront d'accord avec moi là-dessus !
Actuellement lorsque l'entrée est vide
v-model.number="model.number"
modèle = {
numéro: ""
}
Ce qu'il doit faire lorsque l'entrée est vide
v-model.number="model.number"
modèle = {
}
Je suppose que le comportement actuel est celui attendu.
Parce que v-model
n'est que du sucre de syntaxe pour v-bind:value
et v-on:input
, il ne semble pas que le gestionnaire d'événements input
supprime une propriété d'un objet ( et peut-être casser la réactivité de cette propriété).
Je vais trouver un travail autour, merci :) 👍
Comme vous l'avez vu dans #4742, c'est un comportement attendu. la raison est de permettre à l'utilisateur de savoir quand aucune valeur n'est fournie dans l'entrée . Sinon, un 0 pourrait être entré par l'utilisateur et aussi une entrée vide
@posva Après avoir mieux compris la réactivité de Vue, retourner null serait certainement la meilleure option plutôt que de retourner une chaîne
Commentaire le plus utile
@posva Après avoir mieux compris la réactivité de Vue, retourner null serait certainement la meilleure option plutôt que de retourner une chaîne