From bf9188a949a0de0eb7cc5d7c2d26a82355de90f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B4=A4=E5=BF=83?= <3277200+sentsim@users.noreply.github.com> Date: Fri, 20 Dec 2024 17:41:07 +0800 Subject: [PATCH] =?UTF-8?q?fix(treeTable):=20=E4=BF=AE=E5=A4=8D=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E8=B5=8B=E5=80=BC=20`data`=20=E6=97=B6=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E5=88=86=E9=A1=B5=E5=87=BA=E7=8E=B0=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=20(#2406)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(treeTable): 修复直接赋值 `data` 时切换分页出现报错的问题 * fix(treeTable): 重新修正赋值 data 时顶层节点 LAY_DATA_INDEX 值的异常问题 --- src/modules/treeTable.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/modules/treeTable.js b/src/modules/treeTable.js index 7f16eac9..507c50b4 100644 --- a/src/modules/treeTable.js +++ b/src/modules/treeTable.js @@ -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); }) }