解决了一个设计模式问题,这当然是 MVM 流所期望的,包括 v-model.number 在空时产生一个字符串。
当我输入一个数字然后从输入中删除文本时,它会变成反应数据对象中的一个字符串。
这当然是一个主要的可用性和转换问题,我看不出在模型上保留空字符串属性的目的。 当它为空时,它应该从模型中拼接出来 - 正如您在文本条目上创建新属性一样,反之亦然。
这当然是一个应该解决的设计模式问题,不需要每次都在应用程序级别实现,这是一个小修复,会给 VueJS2 增加很多,我相信很多其他人都会同意我的观点!
当前当输入为空时
v-model.number="model.number"
模型 = {
数字: ””
}
当输入为空时它应该做什么
v-model.number="model.number"
模型 = {
}
我猜当前的行为是预期的行为。
因为v-model
只是v-bind:value
和v-on:input
语法糖,它似乎并没有让input
事件处理程序删除对象的属性(并且可能会破坏该属性的反应性)。
我会找到解决办法的,谢谢:)👍
正如您在 #4742 中看到的,这是预期的行为。 原因是让用户知道什么时候输入中没有提供值。 否则,用户可以输入 0 和空输入
@posva在进一步了解 Vue 的反应性之后,返回 null 肯定是更好的选择,而不是返回一个字符串
最有用的评论
@posva在进一步了解 Vue 的反应性之后,返回 null 肯定是更好的选择,而不是返回一个字符串