【发布时间】:2021-05-05 14:37:06
【问题描述】:
我想过滤不同页面上的信息,但遇到了困难。
我有一个包含客户列表的第一页。我设法用 map 方法显示它。这是我的代码,它运行良好:
.map((customer) => {
return (
<TableRow hover role="checkbox" tabIndex={-1} key={customer.code}>
<TableCell align="center">{customer.name}</TableCell>
<TableCell align="center">{customer.description}</TableCell>
<TableCell align="center">
<Link style={{ textDecoration: 'none' }} to={`/customer/${customer.uuid}`}>
<Button>View</Button>
</Link>
</TableCell>
</TableRow>
);
但我在这里阻止:我想要第二页,其中包含有关客户的研讨会列表(不是数据库中所有研讨会的列表)。这是我的数据库:客户(uuid、名称、描述)和研讨会(uuid、名称、地址、城市、国家/地区、wsp_user_uuid)。
这是我目前第二页的代码:
const ViewCustomer = () => {
const [workshops, setWorkshops] = useState([]);
useEffect(() => {
const getWorkshops = async () => {
const result = await axios.get("http://zzzz/workshop");
setWorkshops(result.data);
};
getWorkshops();
}, []);
const tableHeader = columns.map((column) => (
<TableCell
key={column.id}
align={column.align}
style={{ minWidth: column.minWidth }}
>
{column.label}
</TableCell>
));
const mainContent = workshops
.map((workshop) => {
return (
<TableRow hover role="checkbox" tabIndex={-1} key={workshop.code}>
<TableCell align="center">{workshop.name}</TableCell>
<TableCell align="center">{workshop.adress}</TableCell>
<TableCell align="center">{workshop.city}</TableCell>
<TableCell align="center">{workshop.country}</TableCell>
</TableRow>
);
});
return (
<Table stickyHeader aria-label="sticky table">
<TableHead>
<TableRow>{tableHeader}</TableRow>
</TableHead>
<TableBody>{mainContent}</TableBody>
</Table>
);
};
export default ViewCustomer;
你有什么建议或提示让我成为制作第二页的过滤器吗?
【问题讨论】:
-
您在做这件事的哪一部分遇到了麻烦?如何查询数据库?如何获取该数据?如何更新页面?
-
我编辑我的帖子以获取更多信息。我正在寻找过滤我的第二页。目前我有一个使用 map 方法的所有研讨会的列表,但我希望应用过滤器并且只有一个客户的所有研讨会