मुझे उनकी श्रेणी के आधार पर प्रविष्टियों को फ़िल्टर करने की आवश्यकता है। मुझे यही त्रुटि मिलती है।

लेखन त्रुटि: VueComponent.filteredItems पर शून्य की संपत्ति 'फ़िल्टर' पढ़ा नहीं जा सकता

व्यू घटक:

<v-card
      v-for="product in filteredItems"
      :key="product.id"
      class="mx-auto"
      max-width="344"
    >
 [...]

परिकलित:

...mapState('products', ['products']),
        filteredItems() {
          let filtered = this.products
          if (this.search) {
            filtered = this.products.filter(
              item => item.name.category.toLowerCase().indexOf(this.search.toLowerCase()) > -1
            )
          }
          return filtered
        }
      },

निर्यात डिफ़ॉल्ट:

export default {
      props: {
        filterCategory: String
      },
      data: () => ({
        search: 'Personal',

फायरस्टोर JSON प्रविष्टि:

name: {action:"button",  category: "Personal" [...]

त्रुटि को कैसे ठीक करें?

0
Tom 9 अक्टूबर 2020, 10:08

1 उत्तर

सबसे बढ़िया उत्तर

लेखन त्रुटि: VueComponent.filteredItems पर शून्य की संपत्ति 'फ़िल्टर' पढ़ा नहीं जा सकता

यह कह रहा है कि this.products कुछ बिंदु पर शून्य है। यह तब होता है जब आप डिफ़ॉल्ट स्थिति को शून्य पर सेट करते हैं और फिर पहले लोड पर, जब डेटा अभी तक फायरबेस/एपीआई से प्राप्त नहीं होता है, तब भी यह शून्य होता है। तो एक आसान उपाय होगा

if (this.search) {
        filtered = this.products && this.products.filter(
          item => item.name.category.toLowerCase().indexOf(this.search.toLowerCase()) > -1
        )
      }

कृपया इस कोड से जांचें।

2
Asim Khan 9 अक्टूबर 2020, 10:55