2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
P85 parle de publier un produit et après avoir cliqué sur Suivant, je constate que les spécifications ne s'affichent pas.
Ouvrez la console et recherchez l'erreur forEach... erreur
Après avoir vérifié la cause du problème, j'ai constaté que les attributs associés aux groupes individuels dans les groupes renvoyés (attributs) peut être nul
Donc, à ce stade, vous devez vous assurer que les attrs renvoyés par le backend ne peuvent pas être nuls.
Méthode 1 : Filtrage back-end : utilisez la classe d'implémentation back-end pour juger et éliminer les groupes dont les attributs sont nuls.
- **
- * 根据分类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;
- }
Méthode 2 : ajouter un jugement if à la page d'accueil, dansshowBaseAttrs()
dans la méthodefor each
Ajoutez-en un devantsi jugement
if (item.attrs != null && item.attrs.length > 0)