例:在el-input中先输入中文字符,再输入数字,v-model失去监听
<el-input v-model.number="editData.postNum"
class="saveInput"
:maxlength="10"
@blur="editData.postNum = $event.target.value"
onkeyup="value=value.replace(/[^-?\d+$.]/g,'')"
size="mini"></el-input>
原因分析:
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,'')"