From c7cae8fd4347b98506fa8e8fffbd68de1ae91ddf Mon Sep 17 00:00:00 2001 From: sight <26325820+Sight-wcg@users.noreply.github.com> Date: Sat, 1 Mar 2025 00:20:18 +0800 Subject: [PATCH] revert hightlightSelectedRow --- src/modules/table.js | 17 ++++++----------- src/modules/treeTable.js | 12 +----------- 2 files changed, 7 insertions(+), 22 deletions(-) diff --git a/src/modules/table.js b/src/modules/table.js index 21eec0d7..f36ee000 100644 --- a/src/modules/table.js +++ b/src/modules/table.js @@ -304,8 +304,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){ text: { none: '无数据' }, - cols: [], - hightlightSelectedRow: true, // 是否高亮选中行 + cols: [] }; // 表格渲染 @@ -1415,7 +1414,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){ // 添加 tr 属性 var trAttr = function(){ var arr = ['data-index="'+ i1 +'"']; - if(options.hightlightSelectedRow && item1[table.config.checkName]) arr.push('class="'+ ELEM_CHECKED +'"'); + if(item1[table.config.checkName]) arr.push('class="'+ ELEM_CHECKED +'"'); return arr.join(' '); }(); @@ -1804,19 +1803,15 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){ } // 标记数据选中状态 - var checked = item[options.checkName] = getChecked(item[options.checkName]); + var checked = item[options.checkName] = getChecked(el.hasClass(ELEM_CHECKED)); // 标记当前行背景色 - if(options.hightlightSelectedRow){ - el.toggleClass(ELEM_CHECKED, !!checked); - } + el.toggleClass(ELEM_CHECKED, !!checked); // 若为 radio 类型,则取消其他行选中背景色 if (opts.type === 'radio') { radioCheckedIndex = i; - if(options.hightlightSelectedRow){ - el.siblings().removeClass(ELEM_CHECKED); - } + el.siblings().removeClass(ELEM_CHECKED); } }); @@ -1847,7 +1842,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){ if(isCheckAllOrMult){ setTimeout(function(){ that.layBox.removeClass(DISABLED_TRANSITION); - }, 1000) + }, 100) } }; diff --git a/src/modules/treeTable.js b/src/modules/treeTable.js index 0d803cd5..25670136 100644 --- a/src/modules/treeTable.js +++ b/src/modules/treeTable.js @@ -1720,7 +1720,6 @@ layui.define(['table'], function (exports) { Class.prototype.setRowCheckedClass = function(tr, checked){ var that = this; var options = that.getOptions(); - if(!options.hightlightSelectedRow) return; var index = tr.data('index'); var tableViewElem = options.elem.next(); @@ -1919,9 +1918,6 @@ layui.define(['table'], function (exports) { trElem.find('input[type="radio"][lay-type="layTableRadio"]').prop('checked', checked); } else { - var DISABLED_TRANSITION = 'layui-table-disabled-transition'; - var tableboxElem = tableView.find('.layui-table-box');// 减少回流 - tableboxElem.addClass(DISABLED_TRANSITION); // 切换只能用到单条,全选到这一步的时候应该是一个确定的状态 checked = layui.type(checked) === 'boolean' ? checked : !trData[checkName]; // 状态切换,如果遇到不可操作的节点待处理 todo // 全选或者是一个父节点,将子节点的状态同步为当前节点的状态 @@ -1948,14 +1944,8 @@ layui.define(['table'], function (exports) { // 找到父节点,然后判断父节点的子节点是否全部选中 trDataP = that.getNodeDataByIndex(trData[LAY_PARENT_INDEX]); } - - var isAll = that.updateCheckStatus(trDataP, checked); - - setTimeout(function(){ - tableboxElem.removeClass(DISABLED_TRANSITION); - }, 1000) - return isAll; + return that.updateCheckStatus(trDataP, checked); } } }