Задать вопрос
@astrodeep

Как отфильтровать данные в цикле?

Добрый день есть store с axios
import Vue from 'vue';
import Vuex from 'vuex';
import axios from 'axios';
Vue.use(Vuex);
export default new Vuex.Store({
    namespaced:true,
    state: {
        ListTicket: '',
    },

    getters: {
        TicketList: state => {
            return state.ListTicket.data
        },

 
        doneTodos: (state) => (id) => {

            let set;
            set = state.ListTicket.data;
            return  set.find(set => set.id === id)
        }



    },

    mutations: {
        setList(state, payload){
            state.ListTicket = payload;
        }
    },
    actions: {
        async getList({commit}){
            let response = await axios.get('/account/ticketApi/list');
            if (response.status === 200) {
                commit('setList', response.data);
            }
        }
    },
    modules: {
    }
})


return state.ListTicket.data
возвращает массив объектов с базы,

...mapGetters([
                'TicketList',
            ]),


через v-for вывожу все тикеты, но мне например надо отсортировать тикет по определенному id-подскажите. Спасибо
  • Вопрос задан
  • 92 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
SvinkaBacilka
@SvinkaBacilka
личинка front-end Developer-а
Используйте фильтр для массивов
Данный фильтр проверяет какой элемент массива содержит в себе ключ 'available' в значении true:
array.filter(item => item.available)

Для id можно так:
array.filter((item) => {
  return item.id === 42
})
Ответ написан
@art055
state: {
ListTicket: '',
},

getters: {
TicketList: state => {
return state.ListTicket.data
},
Откуда взялась data? Там просто должно быть return state.ListTicket и
ListTicket: [],
Ответ написан
@astrodeep Автор вопроса
вот что пытаюсь сделать
GetListId: (state) => (id) => {
            return state.ListTicket.find(ListTicket => ListTicket.id === id)
        }

...mapGetters([
                'LIST',
                'GetListId'
            ]),

{{ GetListId(100) }}
и ошибка
"state.ListTicket.find is not a function"
хотя если в state тестово записать ручками объект массивов то все работает
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы