uniapp 控制input输入框数值的输入的范围

    技术2022-07-11  89

    uniapp 控制input输入框数值的输入的范围

    因为功能需求 领导随手给我画了个什么鬼界面 里面涉及到用两个input输入框来显示文件页码范围 然后美工UI 什么的都没这一层 直接给我了 领导最大嘛


    那就先看看这个页面输入框吧

    然后这就是那样吧 下面的加减号都是偷懒直接数键盘上的加减号


    然后问题来了, 怎么去控制这个 ipnut 输入框在输入完后判断当前输入的值是不是在范围内呢 ! 那当然是先去找官方文档啦 uniapp官网

    然后参考官方文档, 在失去焦点后判断数据用 @blur 这个方法! 不过这里要注意的是显示的数值不能用 value 而是用 v-model

    上代码

    view 部分虽然就是照着写就行了还是拿出来占占地方好了

    <view class="pageNuber"> <!-- 页码 --> <input type="number" v-model="item.pageNumStar" @blur="starBlur(item)" /> - <input type="number" v-model="item.pageNumEnd" @blur="endBlur(item)"/> </view>

    因为是用 v-for 循环渲染出来的 这里 v-model 绑定的值是item下的字段 是的你没猜错, 一个页面多个input框

    然后是 js 部分

    // 起始页 starBlur(item){ if(item.pageNumStar < 1 || item.pageNumStar === 0 || item.pageNumStar === ''){ this.$set(item,'pageNumStar','1'); } // 调用其他接口 this.xxx(); }, // 尾页 endBlur(item){ if(item.pageNumEnd < 1 || item.pageNumEnd === 0 || item.pageNumEnd === ''){ this.$set(item,'pageNumEnd','1'); } // 调用其他接口 this.xxx(); },

    因为怕有时候不能动态渲染的问题, 这里就用了set(), 当然你也可以直接赋值给对象里面的对应的字段也是可以的, 这里item就是input输入框上传下来的, 也就是点击对应的input的对象所有属性, 第二个字符串就是要修改的对应字段, 最后一个就是要修改的值

    看上去感觉也不是太难嘛, 这里 if 判断就是超出范围之外的值都给一个默认值, 当然你也可以给它原始的默认值, 最大最小值, 我这里就偷个懒好了

    Processed: 0.009, SQL: 9