это своего рода построение на вопросе, который я задал вчера. Обрезать текст в массиве объекта?
Я хочу применить ту же логику, но с использованием моего хранилища 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}}
.
Любая помощь будет оценена. Большое вам спасибо.