leftso 1405 0 2020-02-14 00:17:51

文章位置:左搜> 编程技术> WEB前端基础> 正文
在使用bootstrap-table过程中,我们可能会遇到列属性events事件不能生效的问题,并会发现这个问题有时存在有时却又不存在,这是什么原因呢?其实造成events事件失效的原因非常简单,我们只需查看bootstrap-table.js源码,并找到events处理代码段:

        $.each(this.header.events, function (i, events) {
            if (!events) {
                return;
            }
            // fix bug, if events is defined with namespace
            if (typeof events === 'string') {
                events = calculateObjectValue(null, events);
            }

  //注意,造成events事件失效的原因就在于这两句代码,可以看出,bootsrap-table定位events事件所在列是通过查找列属性field 在列属性数组fields中的位置来确定的,也就是说,当列属性中存在相同的field值时,得到的索引值fieldIndex 永远是第一个field值出现的地方,因此就导致除第一个field值外其他相同field值定位错误,进而导致events事件失效。



也就说列表中的    field字段有重复的导致事件失效了,修改列名即可。

评论区域

暂无评论,快来抢首发吧!!!