From 0eb58d4b8a4824ba9d7f20519bae1fb717d83e8e Mon Sep 17 00:00:00 2001 From: misworga831 Date: Thu, 11 Sep 2025 19:52:35 +0900 Subject: [PATCH] =?UTF-8?q?fix(=E5=95=86=E5=93=81=E8=A7=84=E6=A0=BC):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=A7=84=E6=A0=BC=E5=80=BC=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=8C=E9=81=BF=E5=85=8D=E5=AF=B9=E6=9C=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E7=B4=A2=E5=BC=95=E7=9A=84=E8=AE=BF=E9=97=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/goods/goods-seller/goodsOperationSec.vue | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/seller/src/views/goods/goods-seller/goodsOperationSec.vue b/seller/src/views/goods/goods-seller/goodsOperationSec.vue index 15207504..d2449f10 100644 --- a/seller/src/views/goods/goods-seller/goodsOperationSec.vue +++ b/seller/src/views/goods/goods-seller/goodsOperationSec.vue @@ -1314,7 +1314,7 @@ export default { return res; }, // 编辑规格值 - skuValueChange(val, index, item, $index) { + skuValueChange(val, index, item) { if (this.skuTableData.find((i) => i[val.name] === val.value)) { this.$Message.error("已存在相同规格值!"); @@ -1330,7 +1330,8 @@ export default { if (this.zz(0, val.value) > 20) { this.$Message.error("规格值最多十个字符长度!"); // val.value = val.value.toString().slice(0, 4); - this.skuInfo[$index].spec_values[index].value = this.countCharacters(val.value, 10); + // 使用传入的 item 引用,避免对未定义的 $index 访问 + item.spec_values[index].value = this.countCharacters(val.value, 10); this.$forceUpdate();// 调用该方法会触发组件的重新渲染 // return; } @@ -1360,12 +1361,15 @@ export default { }); } }, - checkSkuVal(val) { + checkSkuVal(val, groupIndex, spec) { if (val.value === "") { this.$Message.error("规格值不能为空!"); - this.skuInfo[skuIndex] && (this.skuInfo[skuIndex].spec_values = this.skuInfo[skuIndex].spec_values.filter((i) => i.value !== "")); + // 移除当前规格组中的空值 + if (this.skuInfo[groupIndex]) { + this.skuInfo[groupIndex].spec_values = this.skuInfo[groupIndex].spec_values.filter((i) => i.value !== ""); + } this.skuTableData = this.skuTableData.filter( - (e) => e[spec.name] !== this.lastEditSkuValue + (e) => e[spec && spec.name] !== this.lastEditSkuValue ); }