mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-05-05 21:49:25 +08:00
fix: refresh association field data after page switching (#6114)
This commit is contained in:
parent
a55e8a8cca
commit
03db13f241
@ -13,7 +13,6 @@ import { ACLCollectionProvider } from '../../acl/ACLProvider';
|
||||
import { UseRequestOptions, UseRequestService } from '../../api-client';
|
||||
import { DataBlockCollector, FilterParam } from '../../filter-provider/FilterProvider';
|
||||
import { withDynamicSchemaProps } from '../../hoc/withDynamicSchemaProps';
|
||||
import { KeepAliveContextCleaner } from '../../route-switch/antd/admin-layout/KeepAlive';
|
||||
import { Designable, useDesignable } from '../../schema-component';
|
||||
import {
|
||||
AssociationProvider,
|
||||
@ -192,12 +191,9 @@ export const DataBlockProvider: FC<Partial<AllDataBlockProps>> = withDynamicSche
|
||||
<ACLCollectionProvider>
|
||||
<DataBlockResourceProvider>
|
||||
<BlockRequestProvider>
|
||||
{/* Must be placed inside BlockRequestProvider because BlockRequestProvider uses KeepAliveContext */}
|
||||
<KeepAliveContextCleaner>
|
||||
<DataBlockCollector params={props.params}>
|
||||
<RerenderDataBlockProvider>{children}</RerenderDataBlockProvider>
|
||||
</DataBlockCollector>
|
||||
</KeepAliveContextCleaner>
|
||||
</BlockRequestProvider>
|
||||
</DataBlockResourceProvider>
|
||||
</ACLCollectionProvider>
|
||||
|
@ -14,6 +14,7 @@ import React, { useEffect, useMemo, useState } from 'react';
|
||||
import { useAPIClient, useRequest } from '../../../api-client';
|
||||
import { useCollectionManager } from '../../../data-source/collection';
|
||||
import { markRecordAsNew } from '../../../data-source/collection-record/isNewRecord';
|
||||
import { useKeepAlive } from '../../../route-switch/antd/admin-layout/KeepAlive';
|
||||
import { useSchemaComponentContext } from '../../hooks';
|
||||
import { AssociationFieldContext } from './context';
|
||||
|
||||
@ -85,7 +86,13 @@ export const AssociationFieldProvider = observer(
|
||||
},
|
||||
);
|
||||
|
||||
const { active } = useKeepAlive();
|
||||
|
||||
useEffect(() => {
|
||||
if (!active) {
|
||||
return;
|
||||
}
|
||||
|
||||
setLoading(true);
|
||||
if (!collectionField) {
|
||||
setLoading(false);
|
||||
@ -136,7 +143,7 @@ export const AssociationFieldProvider = observer(
|
||||
}
|
||||
|
||||
setLoading(false);
|
||||
}, [currentMode, collectionField, field]);
|
||||
}, [currentMode, collectionField, field, active]);
|
||||
|
||||
if (loading || rLoading) {
|
||||
return null;
|
||||
|
Loading…
x
Reference in New Issue
Block a user