问题描述:
输入中文el-input使用onkeyup做正则校验后,二次输入失去焦点获取的数值一直都是空字符串,解决办法,手动给该v-model属性进行赋值,如图
<el-form-item label="结算金额:" prop="jsje">
<el-input :disabled="srsxform.status=='0'||srsxform.status=='1'" v-model="srsxform.jsje" clearable
placeholder="请输入结算金额"
size="small"
class="right_input"
onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')"
style="width: 90%"
@blur="moneyFormat('jsje',$event)"
></el-input>
<span style="margin-left: 7px">元</span>
</el-form-item>
触发方法
moneyFormat(name, event) {
// 进行手动赋值
this.srsxform[name] = event.target.value;
if (this.srsxform[name] != "" && this.srsxform[name] != null) {
if (this.srsxform[name].indexOf(",") != -1) {
this.srsxform[name] = this.srsxform[name].replaceAll(",", "");
}
this.srsxform[name] = this.srsxform[name].replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1');
this.srsxform[name] = this.$comUtils.moneyFormat(this.srsxform[name]);
}
},
问题得到解决啦~