最近打算自己弄一个后台,在整顿树形插件的时候,遇到问题,bootstrapTable treegrid最开始是怎么都显示不了树形,然后是数据出不来,
现在来记录下.
问题1:最开始怎么都显示不出来的问题,是因为 bootstrap-table.min.css 的问题.替换后OK了
问题2:数据不出来的问题,因为返回的数据格式不对.
$('#exampleTable') .bootstrapTable( { type : "GET", url : prefix + "/list", // 服务器数据的加载地址 idField: 'menuId', dataType: 'json', responseHandler: function (res) { //将服务端你的数据转换成bootstrap table 能接收的类型 return { "data": res.list //数据 }; }, // //请求服务器数据时,你可以通过重写参数的方式添加一些额外的参数,例如 toolbar 中的参数 如果 // queryParamsType = 'limit' ,返回参数必须包含 // limit, offset, search, sort, order 否则, 需要包含: // pageSize, pageNumber, searchText, sortName, // sortOrder. // 返回false将会终止请求 columns: [ { field: 'check', checkbox: true, formatter: function (value, row, index) { if (row.check == true) { // console.log(row.serverName); //设置选中 return {checked: true}; } } }, {field: 'name', title: '名称'}, // {field: 'id', title: '编号', sortable: true, align: 'center'}, // {field: 'pid', title: '所属上级'}, {field: 'status', title: '状态', sortable: true, align: 'center', formatter: 'statusFormatter'}, /* {field: 'permissionValue', title: '权限值'}, { field: 'operate', title: '操作', align: 'center', events: operateEvents, formatter: 'operateFormatter' }*/], // bootstrap-table-treegrid.js 插件配置 -- start //在哪一列展开树形 treeShowField: 'name', //指定父id列 parentIdField: 'parentId', onResetView: function (data) { //console.log('load'); $table.treegrid({ initialState: 'collapsed',// 所有节点都折叠 // initialState: 'expanded',// 所有节点都展开,默认展开 treeColumn: 1, // expanderExpandedClass: 'glyphicon glyphicon-minus', //图标样式 // expanderCollapsedClass: 'glyphicon glyphicon-plus', onChange: function () { $table.bootstrapTable('resetWidth'); } }); //只展开树形的第一级节点 $table.treegrid('getRootNodes').treegrid('expand'); }, onCheck: function (row) { var datas = $table.bootstrapTable('getData'); // 勾选子类 selectChilds(datas, row, "id", "parentId", true); // 勾选父类 selectParentChecked(datas, row, "id", "parentId") // 刷新数据 $table.bootstrapTable('load', datas); }, onUncheck: function (row) { var datas = $table.bootstrapTable('getData'); selectChilds(datas, row, "id", "parentId", false); $table.bootstrapTable('load', datas); } // bootstrap-table-treetreegrid.js 插件配置 -- end });
因为是封装的数据,返回的和控件要求的对不上,所以得转一下.