From 402f99caa2e7f5dfd0d651ff8d10d9c137f9e0fd Mon Sep 17 00:00:00 2001 From: Trae AI Date: Sat, 27 Dec 2025 10:17:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BB=8E=E5=B1=80=E9=83=A8?= =?UTF-8?q?=E5=9C=B0=E5=8C=BA=E5=88=87=E6=8D=A2=E4=B8=BA=E6=97=A0=E7=AD=9B?= =?UTF-8?q?=E9=80=89=E7=8A=B6=E6=80=81=E6=97=B6=E5=95=86=E5=93=81=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/index/index.js | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/pages/index/index.js b/pages/index/index.js index 8a6c5b0..0920df3 100644 --- a/pages/index/index.js +++ b/pages/index/index.js @@ -525,7 +525,8 @@ Page({ } if (this.data.selectedRegion !== '全国') { - filtered = filtered.filter(item => item.isAd || item.region === this.data.selectedRegion) + const selectedRegion = this.data.selectedRegion + filtered = filtered.filter(item => item.isAd || (item.region && item.region.includes(selectedRegion))) } filtered.sort((a, b) => { @@ -688,17 +689,23 @@ Page({ this.setData({ selectedRegion: region, showRegionPicker: false - }) - - // 重新筛选商品 - const filteredGoods = this.applyFilters(this.data.goods) - const groupedGoods = this.groupGoodsForStaggeredLayout(filteredGoods) - const { leftColumnGoods, rightColumnGoods } = this.distributeToColumns(filteredGoods) - this.setData({ - filteredGoods: filteredGoods, - groupedGoods: groupedGoods, - leftColumnGoods: leftColumnGoods, - rightColumnGoods: rightColumnGoods + }, () => { + // 如果从局部地区切换到全国地区,重新加载所有商品 + if (region === '全国' && this.data.selectedCategory === '全部' && !this.data.searchKeyword) { + // 重新加载商品数据 + this.refreshGoodsList(); + } else { + // 否则仅对本地商品进行筛选 + const filteredGoods = this.applyFilters(this.data.goods) + const groupedGoods = this.groupGoodsForStaggeredLayout(filteredGoods) + const { leftColumnGoods, rightColumnGoods } = this.distributeToColumns(filteredGoods) + this.setData({ + filteredGoods: filteredGoods, + groupedGoods: groupedGoods, + leftColumnGoods: leftColumnGoods, + rightColumnGoods: rightColumnGoods + }) + } }) },