Обмен технологиями

Характеристики не отображаются при выпуске продукции на Guli Mall P85.

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

P85 сообщил, что после публикации продукта и нажатия кнопки «Далее» я обнаружил, что характеристики не отображаются.

Откройте консоль и найдите ошибку forEach... error

Проверив причину проблемы, я обнаружил, что связанные атрибуты отдельных групп в возвращаемых группах (атрибуты) может быть нулевым

Итак, на данный момент вам необходимо убедиться, что атрибуты, возвращаемые серверной частью, не могут быть нулевыми.

Метод 1. Внутренняя фильтрация. Используйте внутренний класс реализации для оценки и исключения групп, атрибуты которых имеют значение null.

  1. **
  2. * 根据分类id查出所有分组和分组属性
  3. * @param catelogId
  4. * @return
  5. */
  6. @Override
  7. public List<AttrGroupWithAttrsVo> getAttrGroupWithAttrsByCatelogId(Long catelogId) {
  8. //获得在属性分组表中的所有属于当前分类的实体
  9. List<AttrGroupEntity> attrGroupEntities = this.list(new QueryWrapper<AttrGroupEntity>().eq("catelog_id", catelogId));
  10. List<AttrGroupWithAttrsVo> collect = attrGroupEntities.stream().map((group) -> {
  11. AttrGroupWithAttrsVo attrsVo = new AttrGroupWithAttrsVo();
  12. BeanUtils.copyProperties(group,attrsVo);
  13. //当前分组下的所有属性(没有"valueType": 0,)
  14. List<AttrEntity> attr = attrService.getRelationAttr(attrsVo.getAttrGroupId());
  15. attrsVo.setAttrs(attr);
  16. if ( attr!=null){
  17. return attrsVo;
  18. }
  19. return null;
  20. }).collect(Collectors.toList());
  21. collect.removeIf(Objects::isNull);
  22. return collect;
  23. }

Метод 2. Добавьте решение if на главную страницу вshowBaseAttrs()в методеfor eachДобавить один впередиесли решение

if (item.attrs != null && item.attrs.length > 0)