数据处理 - 跨分页批量选择过滤解决方案
数据处理 - 跨分页批量选择过滤解决方案
需求

ex:total=100
- 批次选择框勾选 = 100
- 列表全选选择框勾选 = 15
- 批次选择框勾选,取消某几页某几项
index: 0-20,29-50,52-99- 用于大数据量避免前端需要查询全部页面数据
解决方案
核心
避免获取所有数据id,接口直接传筛选条件
- !!!NOTICE 跨分页批量选择过滤实现
- 用于大数据量
参数:
{
chooseArray:[caseId1,caseId2], // 选择项
filterArray:[], // 排除项
chooseSection:'10-25', // 选择区间
filterSection:'', // 排除区间
[filterRule]: '' // 其他筛选条件
// [......]:''
}
| 参数名 | 必选 | 类型 | 说明 | 默认值 |
|---|---|---|---|---|
| chooseArray | 否 | Array | 选择项 | null |
| filterArray | 否 | Array | 排除项 | null |
| chooseSection | 否 | String | 选择区间 | null |
| filterSection | 否 | String | 排除区间 | null |
| [filterRule] | 否 | String | 其他筛选条件 | null |
notice:
- 字段必选类型可
根据需求灵活规定 - 所有筛选字段
null:可根据需求规定检索结果为空或全部 - 值
- 可
根据需求规定值为id/index=数组下标/ 序号=index+1 - 如id无顺序关系,则不能作为区间
- 可
- 避免字段冲突:
// example
// !!! error
{
chooseArray:[caseId1,caseId2], // 选择项
filterArray:[caseId1], // 排除项
chooseSection:'100-250', // 选择区间
filterSection:'120-300', // 排除区间
}
// 如无法避免,可`根据需求`规定`权重优先顺序`解决
- 功能组合:可
根据需求灵活组合功能。(交集/并集/补集关系)chooseArrayfilterRule && chooseArraychooseArray + filterRule && chooseSection:chooseArray不受filterRule限制filterRule && chooseArray + filterRule && chooseSectionfilterRule&&filterSection:跨分页除filterSection全选- ......
Lee2

浙公网安备 33010602011771号