在开发中遇到一个需要动态生成table的需求,包括表头和数据。在调试的过程中遇到很多问题,包括数据分页,解决之后记录一下。
如下代码的数据加载流程:
①表头是动态的,在初始化table之前需要调一次后台拿到表头数据存储再全局变量table_columns中,调用initTable()初始化table。(此时table只加载出表头,没有数据。)
②table加载之后调用下面refreshTable()方法,请求后台拿到数据,此处因为我这里后台的数据不是bootstrap-table能处理的数据格式,使用了responseHandler对返回数据进行了格式化。
③之后如果需要显示其他数据,调用destroyTable()方法销毁table再重新初始化即可。
数据格式
我这里使用的是server分页,需要的数据格式是{“total”:“总条数”,“rec”:“[{},{}]”} 这种json格式的。total表示总记录条数(server分页必须有此键),rec是数组形式的(默认应该是叫做rows,此处我在初始化table时将dataField设置成了rec)。
表头也是json数组格式的:table_columns=[{"checkbox": "true"},{"field": "Create date","title": "Create date"},{"field": "Create time","title": "Create time"}];
//table标签
//下面是动态table js代码
// 动态table表头数组
v