新增 table `renderData` 方法重新渲染表格当前的数据

pull/1273/head
sunxiaobin89 2023-06-07 15:59:07 +08:00
parent 2b4a873d37
commit 3d10bd68f7
2 changed files with 41 additions and 3 deletions

View File

@ -938,7 +938,29 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
); );
that.startTime = new Date().getTime(); // 渲染开始时间 that.startTime = new Date().getTime(); // 渲染开始时间
if(options.url){ // Ajax请求 if (opts.renderData) { // 将 cache 信息重新渲染
var res = {};
res[response.dataName] = table.cache[that.key];
res[response.countName] = options.url ? (layui.type(options.page) === 'object' ? options.page.count : res[response.dataName].length) : options.data.length;
//记录合计行数据
if(typeof options.totalRow === 'object'){
res[response.totalRowName] = $.extend({}, that.totalRow);
}
that.renderData({
res: res,
curr: curr,
count: res[response.countName],
type: opts.type,
}), sort();
that.setColsWidth();
typeof options.done === 'function' && options.done(
res, curr, res[response.countName]
);
} else if(options.url){ // Ajax请求
var params = {}; var params = {};
// 当 page 开启,默认自动传递 page、limit 参数 // 当 page 开启,默认自动传递 page、limit 参数
if(options.page){ if(options.page){
@ -974,6 +996,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
('返回的数据不符合规范,正确的成功状态码应为:"'+ response.statusName +'": '+ response.statusCode) ('返回的数据不符合规范,正确的成功状态码应为:"'+ response.statusName +'": '+ response.statusCode)
); );
} else { } else {
that.totalRow = res[response.totalRowName];
that.renderData({ that.renderData({
res: res, res: res,
curr: curr, curr: curr,
@ -1008,6 +1031,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
if(typeof options.totalRow === 'object'){ if(typeof options.totalRow === 'object'){
res[response.totalRowName] = $.extend({}, options.totalRow); res[response.totalRowName] = $.extend({}, options.totalRow);
} }
that.totalRow = res[response.totalRowName];
that.renderData({ that.renderData({
res: res, res: res,
@ -1196,7 +1220,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
var res = opts.res; var res = opts.res;
var curr = opts.curr; var curr = opts.curr;
var count = opts.count; var count = that.count = opts.count;
var sort = opts.sort; var sort = opts.sort;
var data = res[options.response.dataName] || []; //列表数据 var data = res[options.response.dataName] || []; //列表数据
@ -1318,6 +1342,19 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
} }
}; };
// 重新渲染数据
table.renderData = function (id) {
var that = getThisTable(id);
if (!that) {
return;
}
that.pullData(that.page, {
renderData: true,
type: 'reloadData'
});
}
// 数据合计行 // 数据合计行
Class.prototype.renderTotal = function(data, totalRowData){ Class.prototype.renderTotal = function(data, totalRowData){
var that = this; var that = this;

View File

@ -26,7 +26,8 @@ layui.define(['table'], function (exports) {
}, },
resize: table.resize, resize: table.resize,
getOptions: table.getOptions, getOptions: table.getOptions,
hideCol: table.hideCol hideCol: table.hideCol,
renderData: table.renderData
}; };
// 操作当前实例 // 操作当前实例