sku-filter
演示
使用场景:
商品详情页一般有 Product => SKUS<Array> => types<Array>
1对n对n的关系
初始化把已有的SKUs渲染出来的时候, 需要遍历嵌套的数据
每次点击直接对原始数据进行过滤操作,也需要遍历嵌套的数据
这些会造成很多不必要的遍历操作
实际上我们后续只会对types<Array>
的数据进行交互,
选择的条件满足一个SKU的时候根据对应关系把这个SKU找到即可
所以我们在初始化遍历原始数据的时候建立对应关系,后续只操作types, 当选择条件已满,返回符合条件的那个唯一SKU
SKU
1 | { |
Map about Product => SKUS
1 | { |
如何使用
安装 npm install --save sku-filter
引入 import SKUFilter from "sku-filter"
实例化
1
const skus = new SKUFilter({data: skus<Array>});
初始化数据
1
const init = skus.initial();
过滤数据 输入已选条件(sku.types)
1
const result = skus.filter(conditions<Array>); // [{颜色: '红'}]
1 | @param {Array} let skus = new SKUFilter({data: skus}); 必填 |