(一) 代码演示
代码如下
<el-radio v-model="radiovalue" @click.native="handleColumnsConfig" :label="1">字段1</el-radio>
点击事件
methods: { handleColumnsConfig(el) { alert('点击') } }
发现点击事件被触发了两次
(二)原因
elementui中,el-radio控件包含了label和input标签,在el-radio上设置了点击事件,让两个标签都拥有了该事件,所有click方法被调用了2次。
(三)解决办法
<el-radio v-model="radiovalue" @click.native.prevent="handleColumnsConfig" :label="1">字段1</el-radio>
方法2. 因为都触发了input标签和label标签的点击事件,可以通过对应事件的标签作加判断阻止其中一个就可以了。
methods: { handleColumnsConfig(el) { // 当是input标签触发的点击事件时,阻止该事件 if (el.target.tagName === 'INPUT') return alert('点击') } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。