Browse Source

优化 table 禁用数据项的选中状态

修复复选框状态都为“禁用 ”时,表头的复选框仍可以点击操作。
pull/1336/head
贤心 1 year ago committed by GitHub
parent
commit
92ac009e41
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      src/modules/table.js

6
src/modules/table.js

@ -1533,7 +1533,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
// 设置数据选中属性
layui.each(thisData, function(i, item){
if(layui.type(item) === 'array') return; // 空项
if(layui.type(item) === 'array' || item[options.disabledName]) return; // 空项
if(Number(opts.index) === i || opts.index === 'all'){
var checked = item[options.checkName] = getChecked(item[options.checkName]);
tr[checked ? 'addClass' : 'removeClass'](ELEM_CHECKED); // 标记当前选中行背景色
@ -1550,7 +1550,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
var checkedElem = tr.find('input[lay-type="'+ ({
radio: 'layTableRadio',
checkbox: 'layTableCheckbox'
}[opts.type] || 'checkbox') +'"]');
}[opts.type] || 'checkbox') +'"]:not(:disabled)');
checkedElem.prop('checked', getChecked(checkedElem.last().prop('checked')));
@ -2690,7 +2690,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
//计算全选个数
layui.each(data, function(i, item){
if(layui.type(item) === 'array'){
if(layui.type(item) === 'array' || item[table.config.disabledName]){
invalidNum++; // 无效数据,或已删除的
return;
}

Loading…
Cancel
Save