<div class="form-group">
      <label for="basic">资产价值(万元)</label>
      <input  type="number"   step="0.1" id="basic" v-model.number="assetMessage.value" 
 class="form-control" required="" placeholder="资产价值" >
</div>
watch:{
            'assetMessage.value':function (newVal,oldVal) {
                // 解决数字键盘可以输入输入多个小数点问题
                if(newVal==='' && oldVal.toString().indexOf('.')>0){
                    this.assetMessage.value = oldVal;
                    return ;
                }
                // 保留两位小数
                if(newVal){
                    newVal = newVal.toString();
                    var pointIndex =  newVal.indexOf('.');
                    if(pointIndex>0 && (newVal.length - pointIndex)>3){
                        this.assetMessage.value = oldVal;
                        return ;
                    }
                }
                // 最大值
                if(newVal>999999){
                    this.assetMessage.value = oldVal;
                    return ;
                }
            }
        }

Wathch :代码是之前借用的别的大佬的文章。用了之后有点小问题。所以我加了 step 步长 解决了我自己的问题。

Logo

前往低代码交流专区

更多推荐