今天笔者遇到一个问题,当步长为0.1时,甚至0.01时.uniapp官方提供的计数器就出了问题了。
这个计数器的条件参数分别是:最大值4,最小值0.1,步长0.1。但是当我加到0.4的时候就加不动了。这个时候我就去看了这个组件的源码。
发现这里的代码,对于步长如果是浮点数是
step 如果是浮点数
如果step 是0.1则scale是10 ,0.01的话就是100
这里就解释当前的情况:
然后发现value 跟 step 都乘了scle.
value 和 step 都为1了
当加到第四次时
if (value > this.max) {
return;
}
这个条件成立,直接return出去了。这个原因就是this.max没有去乘以scale,所以比较有问题。