有一个需求就是,只能输入一个大于0并且是0.5的倍数两位小数,使用elemnt ui 的inputNumer控件,但是使用的时候添加了属性step和precision两个属性,问题就来了,输入了一个小数值,在判断是否是0.5的倍数时,修改值v-mode得不到更新
于是乎 解决办法:
<el-input-number @change="priceChange(dataForm.price)" v-model="dataForm.price"
:step='0.5'
:step-strictly="true"
:precision="2" :min="0"
:max="dataForm.skinRelated==1?dropDownOptions.price:1000"
:disabled="dataForm.castType === Number(0)">
</el-input-number>
priceChange(val) {
console.log('priceChange==val==', val);
const price = this.dataForm.price%0.5===0?this.dataForm.price:0;
// this.skinPrice
console.log(val);
console.log(price);
if (price!==val){
this.$message('价格请输入大于0且是0.5的倍数');
}
},
关键是 :step-strictly="true"