Browse Source

feat(table): 优化 table.checkStatus() 方法 (#2239)

* feat(table): 优化 table.checkStatus() 方法

* docs(table): 补充文档
pull/2250/head
贤心 2 months ago committed by GitHub
parent
commit
4262ed82b3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 1
      docs/table/index.md
  2. 16
      src/modules/table.js

1
docs/table/index.md

@ -369,6 +369,7 @@ table.render({
var tableStatus = table.checkStatus('test');
console.log(tableStatus.data) // 选中行的数据
console.log(tableStatus.data.length) // 选中行数量,可作为是否有选中行的条件
console.log(tableStatus.dataCache) // 选中的原始缓存数据,包含内部特定字段 --- 2.9.17+
console.log(tableStatus.isAll ) // 表格是否全选
```

16
src/modules/table.js

@ -2990,27 +2990,27 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
// 获取表格选中状态
table.checkStatus = function(id){
var nums = 0;
var invalidNum = 0;
var arr = [];
var dataCache = [];
var data = table.cache[id] || [];
//计算全选个数
// 过滤禁用或已删除的数据
layui.each(data, function(i, item){
if(layui.type(item) === 'array' || item[table.config.disabledName]){
invalidNum++; // 无效数据,或已删除的
invalidNum++; // 无效数据数量
return;
}
if(item[table.config.checkName]){
nums++;
if(!item[table.config.disabledName]){
arr.push(table.clearCacheKey(item));
}
arr.push(table.clearCacheKey(item));
dataCache.push(item);
}
});
return {
data: arr, // 选中的数据
isAll: data.length ? (nums === (data.length - invalidNum)) : false // 是否全选
dataCache: dataCache, // 选中的原始缓存数据,包含内部特定字段
isAll: (data.length && arr.length) ? (arr.length === (data.length - invalidNum)) : false // 是否全选
};
};

Loading…
Cancel
Save