Обрезать текст в массиве объектов, используя vuex? - PullRequest
1 голос
/ 07 ноября 2019

это своего рода построение на вопросе, который я задал вчера. Обрезать текст в массиве объекта?

Я хочу применить ту же логику, но с использованием моего хранилища vuex. Мой магазин выглядит примерно так: -

   state: {
     Data: []
         },
     getters: {
        getData:state => {
         const maxLength = 10;
          const resultArray = state.Data.map(i => {
           if (i.name <= maxLength) i.shortName = i.name;
            else {
           const shortenedName = i.name.substring(0, maxLength + 1);
         i.shortName = shortenedName + '...';
       }
       return i;
      });
       console.log(resultArray)
     }
         },
   mutations: {
     setData(state,payload) {
     state.Data = payload
        },
   const actions = {
setItems: (context, payload) => {
    if (payload) {
        context.commit("setData", payload);
        return;
    }
    else {
        Vue.$http.get(`https://example.com/getData`).then(
            (response) => {
                context.commit("setData", response.body);
            },
            (error) => {
                console.log(error);
            }
        );
       }
    }
  }

Так что я не уверен, как применить логику усечения к моему получателю или установщику, которая будет возвращать желаемый массив, который я могу использовать в своем компоненте, используя либо {{mapMutation}} или {{mapGetter}}.

Любая помощь будет оценена. Большое вам спасибо.

1 Ответ

3 голосов
/ 07 ноября 2019

У вас есть 2 общих варианта:

Либо вы берете ответ вчера и анализируете свои данные, а затем возвращаете его при получении.

getters: {
  getData:state => {
    return parserSomeoneGaveYouInResponseToTheLastQuestion(state.Data)
  }
},

Или вы можете просто применить анализперед сохранением данных просто убедитесь, что вам не нужны исходные данные

mutations: {
  setData(state,payload) {
     state.Data = parserSomeoneGaveYouInResponseToTheLastQuestion(payload)
  },
}

РЕДАКТИРОВАТЬ: просто чтобы уточнить, применяете ли вы парсер к мутации или к геттеру, а не к обоим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...