Condivisione della tecnologia

Le specifiche non vengono visualizzate quando si rilasciano prodotti su Guli Mall P85

2024-07-12

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

P85: Dopo aver pubblicato il prodotto e aver fatto clic su Avanti, ho scoperto che le specifiche non venivano visualizzate.

Apri la console e trova l'errore forEach... error

Dopo aver verificato la causa del problema, ho scoperto che gli attributi associati dei singoli gruppi nei gruppi restituiti (attrae) può essere nullo

Quindi in questo momento è necessario assicurarsi che gli attributi restituiti dal backend non possano essere nulli.

Metodo 1: filtraggio back-end: utilizzare la classe di implementazione back-end per giudicare ed eliminare i gruppi i cui attributi sono nulli.

  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. }

Metodo 2: aggiungi il giudizio alla pagina front-end, inshowBaseAttrs()nel metodofor eachAggiungine uno davantise giudizio

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