小程式SKU規格選擇

2022-08-16 03:30:13 字數 1639 閱讀 4285

1.資料結構如下:

, , ]

}, , , ]

}],"spunature": [

,[, ],

]}

2.設定全域性變數和當前預設選擇的商品:

let selectedgoods = {}; //

預設選擇的商品

let selectoptionvalue =,

selectoption = ; //

預設選中的屬性

let isinvalid = false

; let filterlist = _self.data.goodslist.filter(function

(fitem, findex) );

//當前商品的id是預設選擇的商品id

if (filterlist.length > 0)

})})}}

//判斷是否已售罄

if (selectedgoods.stockamount > 0 &&selectedgoods.isupshelf)

else

_self.setdata();

3.選擇屬性,不能選擇的置灰:

selectguige: function

(e) , //

選中的商品

isinvalid = this.data.isinvalid //

按鈕是否可用

;

//定義變數 end

//有此規格屬性值的商品列表

preselectgoodslist = goodslist.filter(function

(fitem, findex) )

natureoptions[natureindex].foreach(

function

(options) else

})var temp =;

natureoptions.foreach(

function

(nature, nindex) )

natureoptions.foreach(

function

(nature, naindex) )

//當前屬性不在預選商品中,則為disabeld

if (disablelist.length ==preselectgoodslist.length)

options.selected = 0;

} else}}

let selectnature = nature.filter(function

(fitem) );

if (selectnature.length > 0) )}}

})//當匹配到的規格可以選中唯一商品時,給選中商品賦值

for (let i = 0; i < selectoption.length; i++) )

if (goodslist.length == 1) }}

if (goodslist.length == 1) )

} else

console.log(selectedgoods)

this

.setdata()

}

備註:可能會有bug,用作記錄

商品表(spu) 規格表(sku)設計

這裡拿iphone6s舉例,它身上有很多的屬性和值,比如 spu 指的是商品 iphone6s spu屬性就是不會影響到庫存和 的屬性,又叫關鍵屬性,與商品是一對一的關係,比如 sku指的是具體規格單品 玫瑰金 16g sku屬性就是會影響到庫存和 的屬性,又叫銷售屬性,與商品是多對一的關係,比如 ...

商品表(spu) 規格表(sku)設計

這裡拿iphone6s舉例,它身上有很多的屬性和值,比如 spu 指的是商品 iphone6s spu屬性就是不會影響到庫存和 的屬性,又叫關鍵屬性,與商品是一對一的關係,比如 sku指的是具體規格單品 玫瑰金 16g sku屬性就是會影響到庫存和 的屬性,又叫銷售屬性,與商品是多對一的關係,比如 ...

微信小程式巢狀迴圈 實現商品規格的選擇

properties是從介面獲取到的 資料 selectsize content for wx key item wx for index id content title view content list for wx key items data select index data attr ...