问题
input 绑定了@blur和@keyup事件,但是执行的函数是一样的,我在执行回车事件的同时,也会触发失焦的事件,所以导致代码执行了两次,如下所示。
<el-input v-model="value" type="input" @blur="blurData(scope.row)" @keyup.enter.native="blurData(scope.row)" />
methods: {
blurData(data) {
consoel.log("执行函数") //执行两次
}
}
解决方案
<el-input v-model="value" type="input" @blur="blurData(scope.row)" @keyup.enter.native="enterBlur(scope.row, $event)" />
methods: {
blurData(data) {
consoel.log("执行函数")
},
enterBlur(data, event) {
event.target.blur(data)
}
}