Vue: 当 v-model.number 为空时删除属性

创建于 2017-05-22  ·  4评论  ·  资料来源: vuejs/vue

这个功能解决了什么问题?

解决了一个设计模式问题,这当然是 MVM 流所期望的,包括 v-model.number 在空时产生一个字符串。

当我输入一个数字然后从输入中删除文本时,它会变成反应数据对象中的一个字符串。

这当然是一个主要的可用性和转换问题,我看不出在模型上保留空字符串属性的目的。 当它为空时,它应该从模型中拼接出来 - 正如您在文本条目上创建新属性一样,反之亦然。

这当然是一个应该解决的设计模式问题,不需要每次都在应用程序级别实现,这是一个小修复,会给 VueJS2 增加很多,我相信很多其他人都会同意我的观点!

提议的 API 是什么样的?

当前当输入为空时

v-model.number="model.number"
模型 = {
数字: ””
}

当输入为空时它应该做什么

v-model.number="model.number"
模型 = {
}

最有用的评论

@posva在进一步了解 Vue 的反应性之后,返回 null 肯定是更好的选择,而不是返回一个字符串

所有4条评论

我猜当前的行为是预期的行为。
因为v-model只是v-bind:valuev-on:input语法糖,它似乎并没有让input事件处理程序删除对象的属性(并且可能会破坏该属性的反应性)。

我会找到解决办法的,谢谢:)👍

正如您在 #4742 中看到的,这是预期的行为。 原因是让用户知道什么时候输入中没有提供值。 否则,用户可以输入 0 和空输入

@posva在进一步了解 Vue 的反应性之后,返回 null 肯定是更好的选择,而不是返回一个字符串

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

finico picture finico  ·  3评论

aviggngyv picture aviggngyv  ·  3评论

hiendv picture hiendv  ·  3评论

lmnsg picture lmnsg  ·  3评论

franciscolourenco picture franciscolourenco  ·  3评论