elementui中el-radio控件click事件触发两次的解决办法
(一) 代码演示
代码如下
<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次。
(三)解决办法
方法1. 增加prevent修饰符阻止事件传递
<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('点击')
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!