uniapp uni-number-box组件 步长为1,还能输入小数思路分享
正常情况,输入了步长为1,是无法在输入小数的。需求是要能输入一位小数,但如果直接步长设为0.1,又不能按1这样递增,输入数量上用起来肯定很麻烦。
于是我就想了一个折中方法,步长设为:1.01,然后值改变的时候,change事件里,四舍五入,保留一位小数,这样就能实现点击输入框左右的加减 ,页面显示的就是按1的增长变化,手动输入的时候,又能输入小数。
以上思路,希望能给其他人带来帮助。
另一个问题:与上面无关
另外在做按0.5的倍数增长,step设为0.5,但是手动输入的值也要是0.5的倍数,如果不是,就在change事件里,ceil一下,这样做会有一个问题:
当 box 绑定的值已经是2了,这是change获得的值是1.3,向上取整,得到2,但是vue不会去渲染,因为值没变化,这个时候,需要使用nexttick更新值。