From 6ecb25d756e9ea6c92ed985d0cebc6cd9bac4618 Mon Sep 17 00:00:00 2001 From: niuniu1448870058 <384665340@qq.com> Date: Sun, 18 Apr 2021 20:32:08 +0800 Subject: [PATCH] =?UTF-8?q?feat(sku):=20=E6=94=AF=E6=8C=81=E5=95=86?= =?UTF-8?q?=E5=93=81=E5=B1=9E=E6=80=A7=E5=BF=85=E9=80=89=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=20(#8558)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: liu --- src/sku/Sku.js | 6 +++--- src/sku/demo/data.ts | 18 ++++++++++++++++++ types/sku.d.ts | 1 + 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/sku/Sku.js b/src/sku/Sku.js index 70beff4db..69ee927c5 100644 --- a/src/sku/Sku.js +++ b/src/sku/Sku.js @@ -183,9 +183,9 @@ export default createComponent({ } // 属性未全选 - return !this.propList.some( - (it) => (this.selectedProp[it.k_id] || []).length < 1 - ); + return !this.propList + .filter((i) => i.is_necessary !== false) + .some((i) => (this.selectedProp[i.k_id] || []).length === 0); }, isSkuEmpty() { diff --git a/src/sku/demo/data.ts b/src/sku/demo/data.ts index 0f000045c..27ca6a139 100644 --- a/src/sku/demo/data.ts +++ b/src/sku/demo/data.ts @@ -179,6 +179,24 @@ export function getSkuData(largeImageMode = false) { }, ], }, + { + k: '非必选属性', + k_id: 125, + is_multiple: true, + is_necessary: false, + v: [ + { + id: 1234, + name: '属性1', + price: 3, + }, + { + id: 1235, + name: '属性2', + price: 4, + }, + ], + }, ], }; } diff --git a/types/sku.d.ts b/types/sku.d.ts index 9d8215ac6..2491d3ed1 100644 --- a/types/sku.d.ts +++ b/types/sku.d.ts @@ -32,6 +32,7 @@ export type SkuPropItemData = { v: SkuPropItemValueData[]; k_id: number; is_multiple?: boolean; + is_necessary?: boolean; }; export type SkuPropItemValueData = {