spz-product-form 商品表单
何时使用
需要处理商品变体加购、结账等操作时。一般用在商品详情页、快速加购弹窗等。
代码演示
基本用法
- 组件内必需有一个form元素,所有的商品相关代码都写到表单内。在表单内部使用原生的
input、select等控件。 - 当点击加购/结账按钮时,会获取表单的所有数据来作为请求数据。
- 当我们需要展示变体选项来供用户选择时,需要使用 spz-variants 组件来实现。
属性
其他属性
方法
setProduct
更改商品数据。
addToCart
当前选中的商品变体组合加入购物车,不需要参数。
buyNow
当前选中的商品变体组合进行结账,不需要参数。当在变体组合(variantCombination)模式时需要以下参数:
事件
update
当切换变体组合时该事件会自动触发。event 字符串类型,值为当前状态的提示信息。
productChange
当选择的变体组合或数量有更新时该事件会自动触发。
event 对象数据:
orderChange
当URL带有 order_id 字段且值不为空时该事件自动触发。
event 对象数据:
productInvalid
当结账的变体组合或选中的变体组合不存在时该事件会自动触发。
firstBuyNowSuccess
在变体组合(variantCombination)模式下调用 buyNow 方法、isFirst 参数值为 true、当前没有选中的变体组合时,结账成功后该事件会自动触发。
buyNowSuccess
在变体组合(variantCombination)模式下,isFirst 值为false时,结账成功时该事件会自动触发。event 对象数据为结账URL请求返回的数据。
buyNowError
结账失败时该事件会自动触发。event 对象数据为结账URL请求返回的错误信息。
atcSuccess
加购成功时该事件会自动触发。event 对象数据为变体数据。
atcError
加购失败时该事件会自动触发。event 对象数据为变体数据。
requestStart
请求发起前该事件会自动触发,无数据对象。
requestEnd
请求响应后该事件会自动触发,无数据对象。
AI 摘要(LLM Ready)
- 组件标识:
spz-product-form - 用途一句话:处理商品变体加购、结账等操作。
- 可识别属性条目:3
- 可识别方法小节:3
- 可识别事件小节:11
- 关键属性名(Top):
product-id、variant-id、buy-now-url - 关键方法名(Top):
setProduct、addToCart、buyNow - 关键事件名(Top):
update、productChange、orderChange、productInvalid、firstBuyNowSuccess、buyNowSuccess - 阅读顺序建议:先看「何时使用」与「代码演示」,再核对属性/方法/事件。
- 关联文档:/guide/actions-and-events/ 、/guide/layouts/