美文网首页
uni uView input 数字input 事件 conso

uni uView input 数字input 事件 conso

作者: 郭的妻 | 来源:发表于2024-03-07 10:01 被阅读0次

    因为uniapp使用 Vue.js,所以我们在监听input和blur的事件,把用户输入的值进行了修改,发现console.log打印发现值已经修改了,但是页面展示没有发生变化,因为受 ES5 的限制,Vue.js 不能检测到对象属性的添加或删除,我们可以异步修改,利用this.$nextTick

    /**
     * @description: 数字输入框的限制
     * @author: 包旭慧
     * @param {*} value//限制的值
     * @param {*} numFixd//保留小数点位数
     * @param {*} valueLength//可输入的字符串长度
     * @param {*} maxValue//可输入的字符串最大值
     * @param {*} row//数据来源的对象
     * @param {*} valName//数据来源Key
     * @param {*} 是否限制 输入制 不能输入 0 //数据来源Key
     * @return {*}
     */
    export function numberInput(value, numFixd, valueLength, maxValue, row, valName, isZero) {
        if (isNaN(value)) {
            value = parseFloat(value)
        }
        if (isZero == true) {
            if (value.indexOf('0') == 0) {
                value = value.slice(1)
            }
        }
        if (value < 0) {
            value = Number(0).toFixed(numFixd)
        }
        if (numFixd > 0) {
            if (value.indexOf('.') > -1) {
                if (value.indexOf('.') > valueLength) {
                    value = value.slice(0, valueLength) + value.slice(valueLength, value.indexOf('.') + numFixd)
                } else {
                    value = value.slice(0, valueLength) + value.slice(valueLength, value.indexOf('.') + numFixd + 1)
                }
            } else {
                if (value.length > valueLength) {
                    value = value.slice(0, valueLength)
                }
            }
        } else {
            if (value.length > valueLength) {
                value = value.slice(0, valueLength)
            }
        }
        if (maxValue) {
            if (value >= maxValue) {
                value = maxValue.toFixed(numFixd)
            }
        }
        this.$nextTick(()=>{
            row[valName] = value
        })
        return row
    }
    

    相关文章

      网友评论

          本文标题:uni uView input 数字input 事件 conso

          本文链接:https://www.haomeiwen.com/subject/dnpszdtx.html