生产管理系统 - 员工管理列表联调
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
*/
|
||||
'use client';
|
||||
|
||||
import { useReducer, useEffect, useMemo } from 'react';
|
||||
import { useReducer, useEffect, useMemo, useRef } from 'react';
|
||||
import { toast } from 'sonner';
|
||||
import { Building2, RefreshCw } from 'lucide-react';
|
||||
|
||||
@@ -117,6 +117,7 @@ const initialState: AuditState = {
|
||||
|
||||
export default function EnterpriseAuditPage() {
|
||||
const [state, dispatch] = useReducer(auditReducer, initialState);
|
||||
const isFirstLoad = useRef(true);
|
||||
|
||||
// 加载企业数据
|
||||
const loadEnterprises = async (resetPage = false) => {
|
||||
@@ -157,14 +158,27 @@ export default function EnterpriseAuditPage() {
|
||||
}
|
||||
};
|
||||
|
||||
// 初始加载
|
||||
// 首次加载数据
|
||||
useEffect(() => {
|
||||
loadEnterprises(true);
|
||||
if (isFirstLoad.current) {
|
||||
isFirstLoad.current = false;
|
||||
loadEnterprises(true);
|
||||
}
|
||||
}, []);
|
||||
|
||||
// 监听筛选和排序变化(排除首次加载)
|
||||
useEffect(() => {
|
||||
if (!isFirstLoad.current) {
|
||||
const timer = setTimeout(() => {
|
||||
loadEnterprises(true);
|
||||
}, 300);
|
||||
return () => clearTimeout(timer);
|
||||
}
|
||||
}, [state.filters.search, state.filters.audit_status, state.sortBy, state.sortOrder]);
|
||||
|
||||
// 分页加载
|
||||
useEffect(() => {
|
||||
if (state.pagination.page > 1) {
|
||||
if (!isFirstLoad.current && state.pagination.page > 1) {
|
||||
loadEnterprises(false);
|
||||
}
|
||||
}, [state.pagination.page]);
|
||||
|
||||
Reference in New Issue
Block a user