0

我是 web 开发新手,我有一个小问题

我在 nuxts 商店的小问题。

我通过使用 axios 和我的函数的查询填充了一个数据表,该函数在数据处于静态时起作用。现在我有一个错误

当我查看我的数据时调用但控制台将错误返回给我:

 TypeError: state.allActivity.filter is not a function

Store.js

export const state = () => ({
    allActivity: [/*
        {
            TitleActivity:'Parapente',
            city: 'Annecy',
            country: 'France',
            price:'80',
            rating:3,
            time: '1h30',
            img:'blausee',
            popular: false,
            category:'Montagne'
        },
        {
            TitleActivity:'Blausee',
            city: 'Bern',
            country: 'Suisse',
            price:'Gratuit',
            rating:2,
            time: '3h',
            img:'blausee',
            popular: false,
            category:''
        },
        {
            TitleActivity:'Ski alpin',
            city: 'Mont-Tremblant',
            country: 'Canada',
            price:'24',
            rating:4,
            time: 'Illimité',
            img:'blausee',
            popular: true,
            category:'Ski'
        },
        {
            TitleActivity:'Balade à dos de chameau',
            city: 'Dubaï',
            country: ' Emirats arabes unis',
            price:'41',
            rating:4,
            time: 'Illimité',
            img:'blausee',
            popular: true,
            category:'Montagne'
        }*/
    ],
    activity:{},
    category:{},
    searchWord: null,
    filteredActivity: null,
    filteredCategory: null
})

export const getters = {
    allActivity: (state) => state.allActivity,
    getActivity: (state) => state.activity,
    getCategory: (state) => state.category,
    getSearchWord: (state) => state.searchWord,
    getFilteredActivity: (state) =>state.filteredActivity,
    getFilteredCategory: (state) =>state.filteredCategory,

}

export const mutations = {
    filtered_Activity (state, word) {
        word= word.trim().toLowerCase()
        if (!(word) || word === '{}') {
            state.searchWord = null
            state.filteredActivity = null
        } else {
          state.searchWord = word
          console.log(word)
          word = word.trim().toLowerCase()
          state.filteredActivity = state.allActivity.filter((activity ) => {
           return activity.city.toLowerCase().includes(word) || activity.TitleActivity.toLowerCase().includes(word) || activity.country.toLowerCase().includes(word) 
          })
        }
      },
      filteredBycategory (state,category) {
        state.filteredCategory = category
        category = category.toLowerCase()
        state.filteredActivity = state.allActivity.filter((activity) =>{ return activity.category.toLowerCase().includes(category) })
        
    },
    updateActivity(state, allActivity) {
        state.allActivity = allActivity
        console.log(state.allActivity)
      },
}

export const actions = {
    filtered_Activity ({ commit }, word) {
        commit('filtered_Activity', word)
      },
      filteredBycategory ({ commit}, category){
          commit('filteredBycategory', category)
      },  loadData({commit}) {
        this.$axios.get('http://localhost:3001/activity').then((response) => {
           console.log(response.data, this)
          commit('updateActivity', response.data)
          
        })
      }

    }

控制台日志 在此处输入图像描述

我应该在我的函数或数据调用中修改什么?

提前致谢

4

0 回答 0