Vue: Supprimer l'attribut lorsque v-model.number est vide

Créé le 22 mai 2017  ·  4Commentaires  ·  Source: vuejs/vue

Quel problème cette fonctionnalité résout-elle ?

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 !

A quoi ressemble l'API proposée ?

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 = {
}

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

Tous les 4 commentaires

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

Cette page vous a été utile?
0 / 5 - 0 notes