记录下在element-ui 表格组件中遇到的一个坑
具体导致异常的原因暂未查处,先来看下异常场景
- 异常分析
我有个点击事件只给了“编辑”的按钮注册,在我新增了一行带有自定义按钮的标签后,点击编辑按钮,一切正常,其他按钮也的确按照我代码写的那样没绑定事件。
可是当我按下排序之后,异常的事情就发生了,编辑按钮还是照样有事件,然后在排序之前编辑按钮的位置上,现在是一个查看分类的按钮,当我点击它时,意外的事件发生了,它居然也触发了这同样的事件,而且这个事件中带的数据跟之前编辑按钮的数据也是一样的(从弹出框内的表单内容看出)
- 代码
- 解决
我首先尝试了给点击查看的按钮也绑定一个点击事件,看会不会覆盖,最后结果是正常了,排序后相同位置的按钮没在被异常绑定事件,而是触发自己的绑定的事件,可是这样子解决是不行的,我不可能给每个有可能会被异常绑定事件的Dom都绑定上自己的事件,于是我就在想会不会跟组件绑定事件,冒泡,默认事件之类的有关,我就尝试了下给事件加上了native的修饰符,给组件的根元素绑定事件,最后发现问题就解决了,但具体为什么这样可以解决,还待研究。。。如有大牛知其原因,欢迎补充。