0
点赞
收藏
分享

微信扫一扫

自动驾驶---Perception之Occupancy

互联网码农 2024-07-24 阅读 26

P85讲,发布商品,点击下一步之后,发现规格参数不显示

打开控制台发现报错forEach...错误

查了问题原因,发现返回的分组中个别组的关联属性(attrs)可能为null

所以这个时候,需要确保后端返回的attrs不能为null

方式1:后端过滤:在后端的实现类进行判断剔除attrs为null的组

**
     * 根据分类id查出所有分组和分组属性
     * @param catelogId
     * @return
     */
    @Override
    public 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)

举报

相关推荐

0 条评论