P85講,發布商品,點擊下一步之后,發現規格參數不顯示
打開控制臺發現報錯forEach...錯誤
查了問題原因,發現返回的分組中個別組的關聯屬性(attrs)可能為null
所以這個時候,需要確保后端返回的attrs不能為null
方式1:后端過濾:在后端的實現類進行判斷剔除attrs為null的組
*** 根據分類id查出所有分組和分組屬性* @param catelogId* @return*/@Overridepublic List<AttrGroupWithAttrsVo> getAttrGroupWithAttrsByCatelogId(Long catelogId) {//獲得在屬性分組表中的所有屬于當前分類的實體List<AttrGroupEntity> attrGroupEntities = this.list(new QueryWrapper<AttrGroupEntity>().eq("catelog_id", catelogId));List<AttrGroupWithAttrsVo> collect = attrGroupEntities.stream().map((group) -> {AttrGroupWithAttrsVo attrsVo = new AttrGroupWithAttrsVo();BeanUtils.copyProperties(group,attrsVo);//當前分組下的所有屬性(沒有"valueType": 0,)List<AttrEntity> attr = attrService.getRelationAttr(attrsVo.getAttrGroupId());attrsVo.setAttrs(attr);if ( attr!=null){return attrsVo;}return null;}).collect(Collectors.toList());collect.removeIf(Objects::isNull);return collect;}
方式2:前端頁面添加if判斷,在showBaseAttrs()
方法中for each
前面加一個if判斷
if (item.attrs != null && item.attrs.length > 0)