修复 treeTable 展开全部之后子节点没有按照当前 `initSort` 排序的问题

pull/1281/head
sunxiaobin89 1 year ago
parent 451a1df48b
commit 5a6b5a1bd0

@ -161,9 +161,6 @@ layui.define(['table'], function (exports) {
if (treeOptions.data.isSimpleData) { if (treeOptions.data.isSimpleData) {
options.data = that.flatToTree(options.data); options.data = that.flatToTree(options.data);
} }
if (options.initSort && options.initSort.type) {
layui.sort(options.data, options.initSort.field, options.initSort.type === 'desc', true)
}
that.initData(options.data); that.initData(options.data);
} }
@ -171,7 +168,6 @@ layui.define(['table'], function (exports) {
options.done = function () { options.done = function () {
var args = arguments; var args = arguments;
var doneThat = this; var doneThat = this;
that.initSort = doneThat.initSort;
var isRenderData = args[3]; // 是否是 renderData var isRenderData = args[3]; // 是否是 renderData
if (!isRenderData) { if (!isRenderData) {
delete that.isExpandAll; delete that.isExpandAll;
@ -899,9 +895,7 @@ layui.define(['table'], function (exports) {
d[idKey] !== undefined && (that.status.expand[d[idKey]] = true); d[idKey] !== undefined && (that.status.expand[d[idKey]] = true);
} }
}); });
if (options.initSort && options.initSort.type && if (options.initSort && options.initSort.type && (!options.url || options.autoSort)) {
(!that.initSort || options.initSort.type !== that.initSort.type && options.initSort.field !== that.initSort.field) &&
(!options.url || options.autoSort)) {
return treeTable.sort(id); return treeTable.sort(id);
} }
var trAll = table.getTrHtml(id, tableDataFlat); var trAll = table.getTrHtml(id, tableDataFlat);
@ -1073,7 +1067,7 @@ layui.define(['table'], function (exports) {
}); });
// 根据需要处理options中的一些参数 // 根据需要处理options中的一些参数
updateOptions(that.config.id, options, type || true); updateOptions(that.getOptions().id, options, type || true);
// 对参数进行深度或浅扩展 // 对参数进行深度或浅扩展
that.config = $.extend(deep, {}, that.config, options); that.config = $.extend(deep, {}, that.config, options);
@ -1137,26 +1131,9 @@ layui.define(['table'], function (exports) {
if(!that) return; if(!that) return;
var options = that.getOptions(); var options = that.getOptions();
var initSort = options.initSort; if (!options.url || options.autoSort) {
that.initData();
if (!options.url) { treeTable.renderData(id);
if (initSort.type) {
layui.sort(options.data, initSort.field, initSort.type === 'desc', true);
} else {
layui.sort(options.data, table.config.indexName, null, true);
}
that.initData(options.data);
treeTable.reloadData(id);
} else {
// url异步取数的表格一般需要自己添加监听之后进行reloadData并且把排序参数加入到where中
if (options.autoSort) {
var tableData = that.initData();
var res = {};
res[options.response.dataName] = tableData;
typeof options.done === 'function' && options.done(
res, that.page, that.count
);
}
} }
} }

Loading…
Cancel
Save