chore:商品分类模板1更改,只有「加载完成 且 该二级分类下商品列表非空」才渲染,否则标题 + 网格整块都不显示。

This commit is contained in:
2026-09-18 17:44:03 +08:00
parent 509fe203f7
commit 480a109114

View File

@@ -651,10 +651,9 @@ export default {
return this.value.template == 1 && this.value.level == 3; return this.value.template == 1 && this.value.level == 3;
}, },
/** /**
* 模板1三级分类: 渲染所有二级分类(包括无商品的空分类) * 模板1三级分类: 只渲染"有商品"的二级分类
* 不再按"是否有商品"过滤, 保证一级分类下的二级分类全部显示, * 无商品的二级分类整块(标题 + 网格)都不渲染; 加载中的二级分类也暂不渲染(避免闪烁)
* 避免 10 个二级分类只显示 8 个(2 个被当成空分类过滤掉)的问题 * 判定时机: 该二级分类加载完成(template1ChildLoading[id] === false)且商品列表非空
* 加载中(template1ChildLoading[id] === true)的二级分类暂不渲染, 避免闪烁
*/ */
filteredGroupedChildren() { filteredGroupedChildren() {
if (!this.isGroupedDisplay) return []; if (!this.isGroupedDisplay) return [];
@@ -662,8 +661,9 @@ export default {
return this.category.child_list.filter(one => { return this.category.child_list.filter(one => {
// 还在加载中: 暂不渲染(避免闪烁) // 还在加载中: 暂不渲染(避免闪烁)
if (this.template1ChildLoading[one.category_id]) return false; if (this.template1ChildLoading[one.category_id]) return false;
// 加载完成(无论是否有商品)都渲染, 无商品时显示空状态 // 加载完成: 只有该二级分类下有商品时才显示, 无商品则整块隐藏
return true; const list = this.template1ChildGoodsList[one.category_id];
return !!(list && list.length);
}); });
}, },
/** /**