Wondering what’s next for npm?Check out our public roadmap! »

    @xuguo/sku
    TypeScript icon, indicating that this package has built-in type declarations

    1.1.5 • Public • Published

    sku算法库

    主要实现前端 sku规格切换的逻辑层

    使用情况

    该库让使用者不再关心逻辑,暂时对外仅提供一个接口createSkuSelector:
    希望您的数据结构符合如下:

    spu: {
      // ...spuAttrs
      skuList: [
        {
          // ...skuAttrs,
          skuIdKey: val,
          specsLsit: [
            {
              specId: val,
              specName: name,
              specValue: val,
              specValueId: id,
              // ...otherAttrs
            }
            // ...
          ]
        }
        // ...
      ]
    }

    本库仅对数据结构有如上要求,可通过spuOps来定义如何获取相应数据

    1. 初始化
    import { createSkuSelector } from '@xuguo/sku'
    let judger = createSkuSelector(spulist, spuOps)
    1. 如何得到数据
    judger.specLines[index].specs[index]
    1. 如何处理规格点击事件
    judger.specTap(spec)
    1. 规格对象的状态 规格状态来自下面的枚举类,状态在内部完成修改
    enum SpecStatus {
      PENDING = 'pending',
      DISABLED = 'disabled',
      SELECTED = 'selected',
    }
    // judger.specLines[row].specs[col].status
    1. 如何得到skuId和specsId onSkuCombined的回调时机在,点击勾选规格完成后构成一个sku的时候
    judger.onSkuCombined((skuId, specsIdJoin) => {
      // Do something
    })

    Install

    npm i @xuguo/sku

    DownloadsWeekly Downloads

    11

    Version

    1.1.5

    License

    ISC

    Unpacked Size

    52.9 kB

    Total Files

    9

    Last publish

    Collaborators

    • avatar