fix(treeTable): 修复直接赋值 data 时切换分页出现报错的问题 (#2406)

* fix(treeTable): 修复直接赋值 `data` 时切换分页出现报错的问题

* fix(treeTable): 重新修正赋值 data 时顶层节点 LAY_DATA_INDEX 值的异常问题
This commit is contained in:
贤心 2024-12-20 17:41:07 +08:00 committed by GitHub
parent 0356e805d2
commit bf9188a949
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1048,6 +1048,7 @@ layui.define(['table'], function (exports) {
var isParentKey = customName.isParent;
var tableFilterId = tableViewElem.attr('lay-filter');
var treeTableThat = that;
var existsData = options.data.length; // 是否直接赋值 data
// var tableData = treeTableThat.getTableData();
level = level || 0;
@ -1056,9 +1057,14 @@ layui.define(['table'], function (exports) {
// 初始化的表格里面没有level信息可以作为顶层节点的判断
tableViewElem.find('.layui-table-body tr:not([data-level])').attr('data-level', level);
layui.each(table.cache[tableId], function (dataIndex, dataItem) {
tableViewElem.find('.layui-table-main tbody tr[data-level="0"]:eq(' + dataIndex + ')').attr('lay-data-index', dataItem[LAY_DATA_INDEX]);
tableViewElem.find('.layui-table-fixed-l tbody tr[data-level="0"]:eq(' + dataIndex + ')').attr('lay-data-index', dataItem[LAY_DATA_INDEX]);
tableViewElem.find('.layui-table-fixed-r tbody tr[data-level="0"]:eq(' + dataIndex + ')').attr('lay-data-index', dataItem[LAY_DATA_INDEX]);
// fix: 修正直接赋值 data 时顶层节点 LAY_DATA_INDEX 值的异常问题
if (existsData) {
dataItem[LAY_DATA_INDEX] = String(dataIndex);
}
var layDataIndex = dataItem[LAY_DATA_INDEX];
tableViewElem.find('.layui-table-main tbody tr[data-level="0"]:eq(' + dataIndex + ')').attr('lay-data-index', layDataIndex);
tableViewElem.find('.layui-table-fixed-l tbody tr[data-level="0"]:eq(' + dataIndex + ')').attr('lay-data-index', layDataIndex);
tableViewElem.find('.layui-table-fixed-r tbody tr[data-level="0"]:eq(' + dataIndex + ')').attr('lay-data-index', layDataIndex);
})
}