在你的代码中,你使用了useState来管理currentPage和pageSize的值,并且在onAppTableClick函数中更新这些值。然而,当选择筛选条件之后,页数不准确的问题可能是因为props.hzhSerachData的变化没有及时反映到currentPage和pageSize上。
解决这个问题可以考虑在useEffect钩子函数中加入props.hzhSerachData作为依赖项,并在props.hzhSerachData发生变化时重新设置currentPage和pageSize的值。修改后的代码如下所示:
const appBitList = (currentPage: any, pageSize: any, hzhSerachData: any) => {
appResourceBitList({
activityName: hzhSerachData.activityName,
resourceModuleName: hzhSerachData.resourceModuleName,
bannerId: hzhSerachData.bannerId,
startModifyTime: hzhSerachData.startModifyTime,
endModifyTime: hzhSerachData.endModifyTime,
onlineTime: hzhSerachData.startOnlineTime,
offlineTime: hzhSerachData.endOnlineTime,
status: hzhSerachData.status,
current: currentPage,
pageSize: pageSize,
}).then(item => {
setData(item?.data);
setTotal(item?.total);
});
};
useEffect(() => {
setCurrentPage(1); // 将当前页重置为第一页
appBitList(1, pageSize, props.hzhSerachData);
}, [props.hzhSerachData]);
const onAppTableClick = (pageIndex: any, pageSize: any) => {
setCurrentPage(pageIndex);
setPageSize(pageSize);
};
在上面的代码中,我们将当前页(currentPage)重置为第一页(1),然后调用appBitList函数时传入新的currentPage值。这样就可以保证在选择筛选条件之后,页数会被正确地设置为第一页,并且数据会根据新的筛选条件进行加载。
内容由零声教学AI助手提供,问题来源于学员提问