需求:el-checkbox 中 @change事件要求阻止冒泡,如下代码中要求点击checkbox时不调用li标签的showPou方法
<li @click="showPou()">
<p>
<el-checkbox
@change="(val)=>handleCheckTower(val,item)"
v-model="item.showCft"
>测风塔</el-checkbox>
</p>
</li>
解决思路1: 在el-checkbox 中用@change.stop发现不起作用,
解决思路2: 在p中用@click.stop,阻止了事件冒泡,但是发现handleCheckTower方法被调用了2次,这种思路也不行
<li @click="showPou()">
<p @click.stop="handleCheckTower(item)">
<el-checkbox
v-model="item.showCft"
>测风塔</el-checkbox>
</p>
</li>
解决思路3:百度了好久 发现如下方法,直接上代码,
<li>
<p
@click.stop
>
<el-checkbox
@change="handleCheckTower(item)"
v-model="item.showCft"
>测风塔</el-checkbox>
</p>
</li>
Vue 中阻止事件冒泡:解决el-checkbox与li点击事件冲突
这篇博客讨论了在Vue中如何处理el-checkbox组件的事件冒泡问题,以避免点击checkbox时触发li元素的showPou()方法。作者尝试了在el-checkbox使用@change.stop和在p标签中使用@click.stop,但都没有达到预期效果。最后,通过将@click.stop放在p标签上并调整事件处理,成功阻止了事件冒泡,解决了方法被调用两次的问题。博客内容涉及Vue事件处理、事件冒泡原理及其在实际开发中的应用。
1262

被折叠的 条评论
为什么被折叠?



