P85讲,发布商品,点击下一步之后,发现规格参数不显示
打开控制台发现报错forEach...错误
查了问题原因,发现返回的分组中个别组的关联属性(attrs)可能为null
所以这个时候,需要确保后端返回的attrs不能为null
方式1:后端过滤:在后端的实现类进行判断剔除attrs为null的组
** * 根据分类id查出所有分组和分组属性 * @param catelogId * @return */ @Override public List getAttrGroupWithAttrsByCatelogId(Long catelogId) { //获得在属性分组表中的所有属于当前分类的实体 List attrGroupEntities = this.list(new QueryWrapper().eq("catelog_id", catelogId)); List collect = attrGroupEntities.stream().map((group) -> { AttrGroupWithAttrsVo attrsVo = new AttrGroupWithAttrsVo(); BeanUtils.copyProperties(group,attrsVo); //当前分组下的所有属性(没有"valueType": 0,) List 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)
上一篇:lvs集群