使用vuex截断对象数组中的文本可以通过以下步骤实现:
state: {
items: [
{ id: 1, text: '这是一段很长的文本1' },
{ id: 2, text: '这是一段很长的文本2' },
{ id: 3, text: '这是一段很长的文本3' }
]
}
mutations: {
truncateText(state, payload) {
const item = state.items.find(item => item.id === payload.id);
if (item) {
item.text = item.text.substring(0, payload.maxLength) + '...';
}
}
}
import { mapState, mapMutations } from 'vuex';
export default {
computed: {
...mapState(['items'])
},
methods: {
...mapMutations(['truncateText']),
truncateItemText(id, maxLength) {
this.truncateText({ id, maxLength });
}
}
}
<template>
<div>
<div v-for="item in items" :key="item.id">
{{ item.text }}
<button @click="truncateItemText(item.id, 10)">截断</button>
</div>
</div>
</template>
这样,当点击截断按钮时,对应对象的文本将被截断并显示省略号。
腾讯云存储专题直播
开箱吧腾讯云
T-Day
企业创新在线学堂
开箱吧腾讯云
云+社区技术沙龙[第14期]
Techo Day
云+社区技术沙龙第33期
DBTalk
Elastic 中国开发者大会
领取专属 10元无门槛券
手把手带您无忧上云