vue父组件传值给子组件后,子组件查询数据库,将数据渲染在表格上
时间: 2023-11-29 08:55:12 浏览: 89
首先,你需要在父组件中将需要传给子组件的数据通过props传递给子组件。假设你要传递的数据是一个数组,可以像这样在父组件中定义props:
```
<template>
<div>
<child-component :data="dataArray"></child-component>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
data() {
return {
dataArray: [] // 父组件中的数据
}
},
mounted() {
// 在mounted钩子函数中查询数据库,并将数据赋值给dataArray
this.getDataFromDatabase();
},
methods: {
getDataFromDatabase() {
// 查询数据库的逻辑
// 将查询到的数据赋值给dataArray
}
}
}
</script>
```
在子组件中,你可以通过props接收父组件传递过来的数组,并在表格中渲染数据。以下是一个简单的子组件示例:
```
<template>
<div>
<table>
<thead>
<tr>
<th>名称</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) in data" :key="index">
<td>{{ item.name }}</td>
<td>{{ item.description }}</td>
</tr>
</tbody>
</table>
</div>
</template>
<script>
export default {
props: {
data: {
type: Array,
default: () => []
}
}
}
</script>
```
在这个子组件中,你可以通过v-for指令遍历父组件传递过来的数组,并将每个数组元素渲染为表格中的一行。请注意,在子组件中,你需要通过props声明接收的数据类型和默认值。
阅读全文