问题场景
例:在el-input中先输入中文字符,再输入数字,v-model失去监听
<el-input v-model="ruleForm.refundMoney"
disabled="disabled"
:placeholder="`本次可以退款最高${dataList.canRefundAmount}美元`"
oninput="value=value.replace(/[^0-9.]/g,'')"
clearable/>
原因分析:
v-model本质是v-bind,v-on缩写,oninput事件覆盖了v-model的值
解决方案:
方案一:绑定blur事件重新赋值
@blur="ruleForm.refundMoney=$evnent.target.value"
方案二:oninput替换成onchange
onchange="value=value.replace(/[^0-9.]/g,'')"