商品详情 - SKU 模块
学会使用插件市场,下载并使用 SKU
组件,实现商品详情页规格展示和交互。
存货单位(SKU)
SKU 概念
存货单位(Stock Keeping Unit),库存管理的最小可用单元,通常称为“单品”。
SKU
常见于电商领域,对于前端工程师而言,更多关注 SKU 算法 和 用户交互体验。
插件市场
uni-app 插件市场,是 uni-app 官方插件生态集中地。
SKU
属于电商常见业务,插件市场有现成的 SKU
插件,我们下载并在项目中使用。
下载 SKU 插件
经过综合评估,我们选择该SKU 插件,请下载插件到本地。
体验地址
::: tip 常见问题
Q:如何评估第三方插件的质量?
A:查看插件的评分、评价、下载量、更新频率以及文档完整性,以确保插件具有良好的社区口碑、兼容性、性能和维护状况。
:::
使用 SKU 插件
组件安装到自己项目
- 复制
vk-data-goods-sku-popup
和vk-data-input-number-box
到项目的根components
目录下。 - 复制例子代码并运行体验。
插件文档(部分)
Props 参数
Props | 说明 | 类型 | 默认值 | 可选值 |
---|---|---|---|---|
v-model | 双向绑定,true 为打开组件,false 为关闭组件 | Boolean | false | true、false |
mode | 模式 1:都显示 2:只显示购物车 3:只显示立即购买 | Number | 1 | 1、2、3 |
localdata | 商品信息本地数据源 | Object | - | - |
Event 事件名
Event | 说明 | 回调参数 |
---|---|---|
add-cart | 点击添加到购物车时(需选择完 SKU 才会触发) | selectShop:当前选择的 sku 数据 |
buy-now | 点击立即购买时(需选择完 SKU 才会触发) | selectShop:当前选择的 sku 数据 |
open | 打开组件时 | - |
close | 关闭组件时 | - |
::: tip 常见问题
Q:为什么插件使用时无需导入?
A:pages.json
的 easycom
配置中,默认自动扫描 xxx/xxx.vue
格式的组件,实现自动导入。
Q:为什么组件代码 Git 提交时报错?
A:插件未采用 eslint
校验代码,请在插件源文件中添加 /* eslint-disable */
,禁用 eslint
。
:::
在 vk-data-goods-sku-popup.vue
和 vk-data-input-number-box.vue
组件禁用 eslint
。
<script>
/* eslint-disable */
// 省略组件源代码
</script>
温馨提示: 插件的作者已合并 eslint-disable
PR ,现在已无需手动添加该注释。
插件类型问题
尽管该插件未采用 TS 开发,但作者提供了详细的插件文档,我们可以依据文档为插件添加 TS 类型声明文件,从而提高项目数据校验的安全性。
类型声明文件
vk-data-goods-sku-popup.d.ts
import {
Component } from '@uni-helper/uni-app-types'
/** SKU 弹出层 */
export type SkuPopup = Comp