Bootstrap Table 列中 events 事件失效解决办法

在使用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字段有重复的导致事件失效了,修改列名即可。

原创文章,作者:端木书台,如若转载,请注明出处:https://blog.ytso.com/243758.html

(0)
上一篇 2022年4月11日
下一篇 2022年4月11日

相关推荐

发表回复

登录后才能评论