recherche

Maison  >  Questions et réponses  >  le corps du texte

Afficher les accessoires utilisés dans les fonctions de filtre - axios, vue3

Comment afficher les accessoires dans filteredProducts lors de l'utilisation d'axios pour obtenir des données. J'ai passé les accessoires comme indiqué ci-dessous.

export default {
  data() {
    return {
      filteredProducts: [],
    };
  },
  mounted() {
 axios
 .get('/src/stores/sneakers.json')
 .then(response => { const products = response.data
  this.filteredProducts = products.filter(product => product.name.includes('Nike'))
})
  },
  computed: {
        resultCount () {
            return Object.keys(this.filteredProducts).length 
        },
    },
  props: {
    brand: {
      type: Object,
    },
  },

Je souhaite remplacer "Nike" par le nom de la marque transmis. Merci beaucoup

P粉439804514P粉439804514461 Il y a quelques jours580

répondre à tous(2)je répondrai

  • P粉872101673

    P粉8721016732023-09-09 09:13:18

    Sélectionnez le produit nommé "Nike" et transmettez-le dans filteredProducts. Ensuite, vous pouvez modifier le nom à l'aide d'une propriété calculée et l'utiliser dans le modèle.

    <template>
      <div 
        v-for="(item, i) in nikeProducts"
        :key="i"
      >
      </div>
    </template>
    
    <script>
    export default {
      props: {
        brand: {
          type: Object
        }
      }
      data() {
        return {
          filteredProducts: [],
        };
      },
      mounted() {
        axios
          .get('/src/stores/sneakers.json')
          .then(response => { 
              const products = response.data
              this.filteredProducts = products.filter(product => product.name.include('Nike'));
          })
      },
      computed: {
        nikeProducts() {
          return this.filteredProducts.map(product => product.name = this.brand.name)
        }
      }
    }
    </script>

    répondre
    0
  • P粉529245050

    P粉5292450502023-09-09 09:09:06

    export default {
                  data() {
                    return {
                      products: [],
                    };
                  },
                  mounted() {
                       this.getSneakers();
                  },
                  methods: {
                     getSneakers() {
                     axios
                      .get('/src/stores/sneakers.json')
                       .then(response => { 
                      this.products = response.data ?? [];
                          })
                      }
                   },
                  computed: {
                        resultCount () {
                            return this.filteredProducts?.length ?? 0
                        },
                        brandName() {
                            return this.brand?.name ?? "";
                        },
                        filteredProducts () {
                            return this.products?.filter(
            product => product.name?.toLowerCase()?.includes(this.brandName.toLowerCase())
                       )
                        },
                    },
                  props: {
                    brand: {
                      type: Object,
                    },
                  },
              }

    répondre
    0
  • Annulerrépondre