关于element el-checkbox组件click事件的一些想法
el-checkbox本身是没有click事件的,但是我们可以通过native的方式穿透下去,但是这样的话会有一个问题,我们先看下代码:
<el-checkbox v-model="checked" @click.native="onClick">备选项</el-checkbox>
如果你在onClick函数中进行输出,你会发现,click实际上运行了两次,native本身是将事件绑定给了组件的根元素,这就导致他会被子元素的click事件冒泡触发。
哪怕你加了stop也没有效果,因为stop只能防止根元素往上冒泡,并不能阻止他本身被冒泡触发。
如果这些都不能影响你的使用,那么你就可以添加click事件。
本人的意思还是使用组件自动的change事件来代替click。
change事件默认会将改变后的值作为参数传入,但是有时候,我们可能不单单需要一个被改变的值,但是如果设置的参数,就无法获取到change事件默认给的参数。
其实我们可以变个思路,我们直接把组件v-model绑定的值作为参数不就行了。
<el-checkbox v-model="checked" @change="test(checked,xxx)">备选项</el-checkbox>
由于change事件是值被改变后触发,所以checked
永远是改变后的值,完全可以替代掉change的默认参数,并且位置可以随便变化,非常奈斯。
分类:
vue 项目实战
标签:
vueelementel-checkbox
版权申明
本文系作者 @木灵鱼儿 原创发布在木灵鱼儿站点。未经许可,禁止转载。
暂无评论数据