本文实例为大家分享了vue实现商品规格选择的具体代码,供大家参考,具体内容如下
动手之前要先确定自己的商品数据结构,下面是我的商品数据结构
dataInfo: {
attr: [
{
attr_name: "码数",
attr_value: [{attr: "40"}, {attr: "50"}],
attr_values: ["40", "50"],
},
{
attr_name: "颜色",
attr_value: [{attr: "红色"}, {attr: "蓝色"}],
attr_values: ["红色", "蓝色"],
},
],
sku: [
{
sku: "40,红色",
stock: 100,
price: "4038.08"
},
{
sku: "50,红色",
stock: 100,
price: "4038.08"
},
{
sku: "40,蓝色",
stock: 100,
price: "4038.08"
},
{
sku: "50,蓝色",
stock: 100,
price: "4038.08"
},
],
stock: 326,
price: "4038.08",
},
首先先根据数据结构,将商品信息渲染到页面上
<div
class="product-delcom"
v-for="(ProductItem, n) in dataInfo.attr"
:key="n"
>
<p>{{ ProductItem.attr_name }}</p>
<ul class="product-footerlist clearfix">
<li
v-for="(oItem, index) in ProductItem.attr_value"
:key="index"
@click="specificationBtn(oItem.attr, n, $event, index)"
:class="[
oItem.isShow ? '' : 'noneActive',
subIndex[n] == index ? 'productActive' : '',
]"
>
{{ oItem.attr }}
</li>
</ul>
</div>
然后通过点击规格将规格字符串在sku数组里遍历,找到对应的库存;并判断哪些库存为0,如果为0,则选项设为不可选,首次进入页面的时候也需要调用该方法,将缺货的规格也一并设置为不可选。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。