chore:商品分类样式2 点击加购商品时去结算会出现

This commit is contained in:
2026-09-05 18:23:29 +08:00
parent 1893f6d884
commit f37633525f
2 changed files with 14 additions and 5 deletions

View File

@@ -938,6 +938,10 @@ export default {
this.$forceUpdate();
// 立即同步购物车数量/金额到 store: 底部结算栏按 cartNumber 显隐,
// 若只等 800ms 防抖 + 接口回调才计算, 会出现"点了加购但结算栏没弹出"
this.$store.dispatch('cartCalculate');
this.timeout[data.sku_id] = setTimeout(() => {
this.cartEditRepeat = true;
this.$api.sendRequest({
@@ -986,6 +990,9 @@ export default {
}
this.$forceUpdate();
// 同上: 减购后立即重算, 减到 0 时结算栏同步消失
this.$store.dispatch('cartCalculate');
// 防止点击太快
if (cart && cart.cart_id == 0) {
return;

View File

@@ -192,11 +192,13 @@
</view>
<!-- 风格2/模板4: 底部购物车栏
不用 position:fixed: 小程序/H5/鸿蒙下 fixed 受页面避让与父级 transform 影响,
会"跟在内容后面"只有滚到底才看得见。
.category-page-wrap 是固定高度(calc(100vh - tabBarHeight))的纵向 flex 容器,
content-box 为 flex:1 height:0, 把结算栏作为普通子项排在末尾,
无论右侧商品列表怎么滚动, 结算栏始终固定显示在底部 -->
1) 不用 position:fixed: 小程序/H5/鸿蒙下 fixed 受页面避让与父级 transform 影响,
会"跟在内容后面"只有滚到底才看得见。
.category-page-wrap 是固定高度(calc(100vh - tabBarHeight))的纵向 flex 容器,
content-box 为 flex:1 height:0, 把结算栏作为普通子项排在末尾,
无论右侧商品列表怎么滚动, 结算栏始终固定显示在底部
2) cartNumber > 0: 只在购物车里有商品时才出现(点加购即出现, 减到 0 即消失),
商品加购后会立即 dispatch cartCalculate 同步 cartNumber, 不依赖接口回调 -->
<view class="cart-box cart-box-template-4"
v-if="(value.template == 2 || value.template == 4) && showCartSettlement && storeToken && cartNumber > 0 && categoryTree && categoryTree.length">
<view class="left-wrap">