我正在尝试将数组动态传递到我的组件的道具中。问题是这个数组是由 getter 获取的。原因是我从商店中获取了多个列表,并希望使用循环将它们传递下去。
Parent.vue
(见行:2)
<v-tab-item v-for="item in tabItems" :key="item.list">
<searchCard :items="item.list">
<template v-slot:content="prop">
<v-card-title class="text-capitalize">{{ prop.item.name }}</v-card-title>
<v-card-text>
<p>Rate: {{ prop.item.rate }}/{{ prop.item.unit }}</p>
<p>Quantity: {{ prop.item.quantity }}</p>
</v-card-text>
<v-card-actions>
<v-spacer></v-spacer>
<plusMinusGroup>
<p slot="value">{{ prop.item.quantity || 0 }}</p>
</plusMinusGroup>
</v-card-actions>
</template>
</searchCard>
</v-tab-item>
这就是我的tabItems
数组和映射的 getter 的样子
tabItems: [
{ list: 'prodList', cardHeight: 20 },
{ list: 'materialList', cardHeight: 20 },
{ list: 'itemList', cardHeight: 20 },
],
...mapGetters({
prodList: 'products/productList',
materialList: 'materials/materialList',
itemList: 'items/itemList',
}),
问题是该值被截获为字符串文字(这是有道理的),我无法让它工作。
我尝试过替换{ list: "prodList", cardHeight: 20 },
,{ list: this.prodList, cardHeight: 20 },
但这无济于事。
另外,因为我的 Vuex 被拆分成多个模块,所以我不能使用提供的字符串来获取子模块内的 getter。