Welcome

首页 / 脚本样式 / bootstrap / 使用Bootstrap treegrid组件时不报错,不显示数据的原因分析

最新在使用Bootstrap+table+treegrid组件进行代码编写时,遇到一个奇怪的问题,就是接口返回数据正常,JS脚本运行也都正常,没有报出任何错误,但就是不显示树形。

经过自己一番折腾之后发现,可能是我们的程序接口返回的数据的问题。

究其根本原因:treegrid中根结点pid的值不能是0,(很多程序员朋友在设计层级结构时喜欢使pid=0,包括我在内)

找到原因之后,我们就可以针对bootstrap-table-treegrid.js进行修改了(因为这种方法算是一劳永逸)

具体修改内容如下:

onCheckRoot: function (row, data) {
            var that = this;
            //以下这个if块就是新增的内容,bootstrap-table-treegrid.js的原文件中是没有的。
            if(row[that.options.parentIdField]==0)
            {
            	return true;
            }
            return !row[that.options.parentIdField];
            
        }

可以使用Sublime/Editplus进行编辑,查找到

onCheckRoot:function(row,data){

    var that=this;

    if(row[that.options.parentIdField]==0)

    {

        return true;

    }

    return !row[that.options.parentIdField];

}

注:上述代码红色部分即为修改后的内容,增加到js文件中就可以了。大家在使用时可以借鉴一下。

欢迎大家相互学习指导