赞
踩
在开发的时候遇到这么一种情况,我们希望input输入框的值是范围是0-100或者保留两位小数之类的,当你输入时处理后的结果却不生效,但是试过很多办法发现都实现不了,最后是按照以下方法解决的,问题原因是uni-app会延时,导致输入的结果和打印的结果有时间误差,不一致!所以我们需要加一个定时器
- <u-input v-model="formData.receiptQuantity" @input="handleInput"
- placeholder="请输入份数(0-100)" type="number">
- </u-input>
- // uni-app框架官方说明:input事件处理函数内实时修改当前值不生效,可以延迟设置!
- // 延时的结果,输入的结果和打印的结果一致!
- function handleInput(event) {
- setTimeout(() => {
- let value = event
- if (isNaN(value) || value < 0) {
- value = 0;
- } else if (value > 100) {
- value = 100;
- }
- formData.value.receiptQuantity = value
- },0)
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。