微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

elementui InputNumber 计数器

需求: InputNumber 计数器 精度不固定,且小数点后不能去零。

目前没想到别的解决方法,仅想记录下补零过程。

<template v-if="fline.inputFormat == 3">
   //<!-- 数字框 -->
   <el-form-item
     prop="fieldContent"
     :rules="{
       required: true, message: 'Please Enter1 ' + fline.fieldName, trigger: 'blur'
     }">
     <el-input-number
       v-model="fline.fieldContent"
       :precision="Number(fline.opts ? fline.opts[0].keep : fline.optionSelected[0].keep)"
       :step="0.1"
       :style="{'width': '100%'}" ></el-input-number>
   </el-form-item>
 </template>
if(i.inputFormat == 3){
   // 数字框精度自动去0:补0
   i.fieldContent = i.fieldContent == 0 ? '0.' : i.fieldContent
   let valLang = i.fieldContent.toString().replace(/\d+\.(\d*)/,"$1").length // 小数点后面长度
   let valBefor = i.fieldContent.toString().split('.')[0] // 小数点前面
   let zero = '' // 补0初始化
   let keep = i.opts ? i.opts[0].keep : i.optionSelected[0].keep
   const stepLang = keep - valLang // 需要补几位
   for(let i=0;i<stepLang;i++){
     zero +='0'
   }
   let rep=/[\.]/
   if(rep.test(i.fieldContent)){
     i.fieldContent = i.fieldContent + zero
   }else{
     i.fieldContent = i.fieldContent + '.' + zero
   }
   let valLang2 = i.fieldContent.toString().replace(/\d+\.(\d*)/,"$1").length
   if(valLang2 < keep){
     i.fieldContent = i.fieldContent + '0'
   }
 }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐