programing

vuex를 사용하여 개체 배열에서 텍스트를 잘라내시겠습니까?

sourcejob 2022. 11. 3. 21:51
반응형

vuex를 사용하여 개체 배열에서 텍스트를 잘라내시겠습니까?

이건 내가 어제 물어본 질문에 대한 일종의 구축이다.개체 배열에서 텍스트를 잘라내시겠습니까?

같은 논리를 적용하지만 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);
            }
        );
       }
    }
  }

따라서 getter 또는 setter 중 하나에 잘라낸 로직을 적용하는 방법을 잘 모르겠습니다.이 로직은 다음 중 하나를 사용하여 컴포넌트에서 사용할 수 있는 원하는 어레이를 반환합니다.{{mapMutation}}또는{{mapGetter}}.

어떤 도움이라도 주시면 감사하겠습니다.정말 감사합니다.

다음의 2개의 범용 옵션이 있습니다.

어제의 응답을 받아 데이터를 해석한 후 전송 중에 반환할 수 있습니다.

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

또는 데이터를 저장하기 전에 구문 분석을 적용할 수 있습니다. 원본 데이터가 필요하지 않은지 확인하십시오.

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

EDIT: 명확하게 하기 위해 파서를 변환에 적용하거나 게터에 적용하거나 둘 다 적용하지 마십시오.

언급URL : https://stackoverflow.com/questions/58751250/truncate-text-in-an-array-of-objects-using-vuex

반응형