el-input如何实现限制输入的最大数可变化?

就是想让输入的根据每一项中有的一个值作为最大值,并且保留一位小数。

阅读 2.7k
1 个回答
✓ 已被采纳

一开始

            <el-input type="text" oninput="
                this.value=this.value.replace(/\D*(\d*)(\.?)(\d{0,1})\d*/,'$1$2$3') // 只能输入数字、小数点限制3位
                .replace(/^0+(\d)/, '$1') // 第一位0开头,0后面为数字,则过滤掉,取后面的数字
                .replace(/^\./, '0.')  // 如果输入的第一位为小数点,则替换成 0. 实现自动补全
                .match(/^\d*(\.?\d{0,1})/g)[0] || '' // 数字开头、小数点1位
              "></el-input>

实现了小数点后一位,但是使用:max="5",就是不行,后面换成el-input-number可行,不知道为什么?
在oninput内写if(value>5)value=5,最大值就是5,起效,但换成动态值就不行,于是换成

            <el-input-number 
                :max="form.options.score" controls-position="right"
                :precision="1"
               ></el-input-number>

因为oninput在这里对小数点后保留一位不起效,并且precision精度也更简便

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题