数据处理 - 跨分页批量选择过滤解决方案
数据处理 - 跨分页批量选择过滤解决方案
需求
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', // 排除区间
}
// 如无法避免,可`根据需求`规定`权重优先顺序`解决
- 功能组合:可
根据需求
灵活组合功能。(交集/并集/补集关系)chooseArray
filterRule && chooseArray
chooseArray + filterRule && chooseSection
:chooseArray
不受filterRule
限制filterRule && chooseArray + filterRule && chooseSection
filterRule&&filterSection
:跨分页除filterSection
全选- ......
Lee2