之前遇到一个问题:在el-input框同时绑定回车和失焦事件,两个事件触发的函数是一样的,回车的时候触发一次紧接着失焦也触发一次,导致回车一次触发两次函数。
<el-input v-model="msg" @blur="updateData" @keyup.enter.native="updateData"></el-input>
methods: { updateData() {... //更新操作} }
解决办法
<el-input v-model="msg" @blur="updateData" @keyup.enter.native="enterBlur($event)"></el-input>
methods: { updateData(event) { ... //更新操作}, //回车失去焦点 enterBlur(event) { event.target.blur() }
如果是有参数的可以如下:
<el-input v-model="it.data" @blur="updateData(row,it)" @keyup.enter.native="enterBlur($event,row,it)"></el-input>
methods: { updateData(row,it) { ... //更新操作}, //回车失去焦点 enterBlur(event,row,it) { event.target.blur(row,it) } }