可以通过以下步骤实现:
以下是一个示例代码:
import React, { Component } from 'react';
class FilteredData extends Component {
constructor(props) {
super(props);
this.state = {
data: [], // 存储所有的数据
filter: '', // 过滤条件
};
}
componentDidMount() {
// 在组件挂载后,可以通过网络请求或其他方式获取数据,并更新state中的data数组
// 示例代码:
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => this.setState({ data }))
.catch(error => console.log(error));
}
handleFilterChange = (event) => {
// 监听用户输入的过滤条件,并更新state中的filter
this.setState({ filter: event.target.value });
}
render() {
const { data, filter } = this.state;
// 根据过滤条件筛选需要显示的数据
const filteredData = data.filter(item => item.name.includes(filter));
return (
<div>
<input type="text" value={filter} onChange={this.handleFilterChange} />
<ul>
{filteredData.map(item => (
<li key={item.id}>{item.name}</li>
))}
</ul>
</div>
);
}
}
export default FilteredData;
在上述示例代码中,我们创建了一个名为FilteredData的React组件,该组件通过网络请求获取数据,并根据用户输入的过滤条件筛选需要显示的数据。用户可以在输入框中输入过滤条件,组件会实时更新显示的数据。这个组件可以用于展示任何类型的数据,例如用户列表、商品列表等。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云