,可以通过以下步骤实现:
以下是一个示例代码(使用Vue.js框架):
<!-- 父组件 -->
<template>
<div>
<input type="text" v-model="filterValue" @input="filterData" />
<child-component :filteredData="filteredData"></child-component>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
data() {
return {
data: [
{ name: 'John', age: 25 },
{ name: 'Jane', age: 30 },
{ name: 'Bob', age: 35 }
],
filterValue: '',
filteredData: []
};
},
methods: {
filterData() {
this.filteredData = this.data.filter(item => item.name.includes(this.filterValue));
}
}
};
</script>
<!-- 子组件 -->
<template>
<div>
<table>
<thead>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
</thead>
<tbody>
<tr v-for="item in filteredData" :key="item.name">
<td>{{ item.name }}</td>
<td>{{ item.age }}</td>
</tr>
</tbody>
</table>
</div>
</template>
<script>
export default {
props: ['filteredData']
};
</script>
在上述示例中,父组件中的输入框用于输入过滤条件,通过v-model指令将输入框的值与filterValue属性进行双向绑定。当输入框的值发生变化时,会触发filterData方法进行数据过滤,将过滤后的数据赋值给filteredData属性。子组件通过props属性接收filteredData属性,并在表格中使用v-for指令将过滤后的数据渲染出来。
这样,当父组件中的数据过滤条件发生变化时,子组件中的表格会自动刷新显示符合条件的数据。
推荐的腾讯云相关产品:腾讯云云服务器(CVM),腾讯云数据库(TencentDB),腾讯云对象存储(COS),腾讯云人工智能(AI),腾讯云物联网(IoT),腾讯云移动开发(移动应用托管),腾讯云区块链(BCS),腾讯云元宇宙(Tencent Cloud Metaverse)。
更多腾讯云产品介绍和详细信息,请访问腾讯云官方网站:https://cloud.tencent.com/
领取专属 10元无门槛券
手把手带您无忧上云