在 uni-app
中,如果你希望在 uniapp-x
子组件中传入一个对象数组作为 props
,你可以按照以下步骤进行。这包括父组件传递对象数组给子组件,以及子组件接收并处理这个对象数组。
父组件代码
首先,在父组件中定义一个对象数组,并通过 props
传递给子组件。
<template>
<view>
<uniapp-x :items="itemList"></uniapp-x>
</view>
</template>
<script>
export default {
data() {
return {
itemList: [
{ id: 1, name: 'Item 1', value: 'Value 1' },
{ id: 2, name: 'Item 2', value: 'Value 2' },
{ id: 3, name: 'Item 3', value: 'Value 3' }
]
};
}
};
</script>
子组件代码(uniapp-x.vue)
在子组件中,你需要定义 props
来接收这个对象数组,并在模板或逻辑中使用它。
<template>
<view>
<block v-for="(item, index) in items" :key="index">
<view>
<text>ID: {{ item.id }}</text>
<text>Name: {{ item.name }}</text>
<text>Value: {{ item.value }}</text>
</view>
</block>
</view>
</template>
<script>
export default {
props: {
items: {
type: Array,
required: true,
default: () => []
}
},
// 你可以在这里添加更多的逻辑,比如对items进行处理
computed: {
// 示例:计算items的总长度
totalItems() {
return this.items.length;
}
},
methods: {
// 示例:打印items数组
printItems() {
console.log(this.items);
}
},
mounted() {
// 示例:组件挂载后打印items
this.printItems();
}
};
</script>
说明
- 父组件:定义了一个
itemList
对象数组,并通过 :items="itemList"
将其传递给子组件 uniapp-x
。
- 子组件:通过
props
接收 items
,它是一个对象数组。在模板中使用 v-for
指令遍历 items
并显示每个对象的属性。
- 默认值和类型检查:在
props
中定义了 items
的类型为 Array
,并设置了默认值 []
,同时标记为 required
,确保传入的是数组。
这样,你就可以在 uni-app
中将对象数组作为 props
传递给子组件,并在子组件中接收和使用了。