开发中遇到问题如下:
由于后端的int数据为空时,默认值是0(在后端框架中,0就意味着空),
导致前端的编辑表单在回显int类型数据时,本来应该是空值的数据显示成了0,造成了数据的不同步
但每次接受int类型数据都去判断一下,尤其是如果这个字段包在比较深的层级中时,就很麻烦。
所以希望可以在input里兼容一下,这样每次需要整型字段
解决方法如下:
<!-- 以element为例: --!>
<el-input
:value="form.int || ''"
@input="(val) => (form.int = parseInt(val))"
></el-input>
此方法同时还可以用来替代v-model.number的绑定方式和type="number"的input,规范用户输入、避免number类型的input粘贴非数字内容引起的校验错误等等问题。
目前未发现这种做法是否会引起非预期的bug,如果小伙伴们有什么更好的建议,欢迎在评论区留言讨论。
如果感觉这个方法对你有帮助的话,也请动动小手给个赞啦~