elementUi的按钮,点击一次后,他不会自行失去焦点,需要手动点击别的地方按钮才会失去焦点,所以就导致点击按钮过后,按回车,会触发按钮事件
在这里就是在点击按钮后,给按钮处理,使其失去焦点
这张效果图就是需要解决的问题
解决代码
<template>
<div>
<el-button @click="clickBtn">新增</el-button>
</div>
</template>
<script>
export default {
methods: {
// 点击事件
clickBtn (e) {
let target = e.target
// 根据button组件内容 里面包括一个span标签,如果设置icon,则还包括一个i标签,其他情况请自行观察。
// 所以,在我们点击到button组件上的文字也就是span标签上时,直接执行e.target.blur()不会生效,所以要加一层判断。
if (target.nodeName === 'SPAN' || target.nodeName === 'I') {
target = e.target.parentNode
}
// 让其失去焦点
target.blur()
}
}
}
</script>