From 7252b73327083de5270acbcd79b0609b8072c40b Mon Sep 17 00:00:00 2001 From: Zeke Zhang <958414905@qq.com> Date: Sun, 2 Mar 2025 13:39:57 +0800 Subject: [PATCH] feat(users): add loading state for users management tab (#6324) - Add Spin component when users collection is not yet loaded - Improve collection loading handling in UsersManagementTab - Ensure smooth rendering with collection manager integration --- .../plugin-users/src/client/UsersManagement.tsx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/plugins/@nocobase/plugin-users/src/client/UsersManagement.tsx b/packages/plugins/@nocobase/plugin-users/src/client/UsersManagement.tsx index 40e79bdbed..0ff967d33a 100644 --- a/packages/plugins/@nocobase/plugin-users/src/client/UsersManagement.tsx +++ b/packages/plugins/@nocobase/plugin-users/src/client/UsersManagement.tsx @@ -11,21 +11,21 @@ import { css } from '@emotion/css'; import { createForm } from '@formily/core'; import { useForm } from '@formily/react'; import { + ExtendCollectionsProvider, + RemoteSchemaComponent, SchemaComponent, SchemaComponentContext, useAPIClient, useActionContext, useCollection, + useCollectionManager, useCollectionRecordData, useDataBlockRequest, useDataBlockResource, useRequest, - RemoteSchemaComponent, - useCollectionManager, - ExtendCollectionsProvider, useSchemaComponentContext, } from '@nocobase/client'; -import { App, Tabs, message } from 'antd'; +import { App, Spin, Tabs, message } from 'antd'; import React, { createContext, useContext, useEffect, useMemo } from 'react'; import { useUsersTranslation } from './locale'; import { PasswordField } from './PasswordField'; @@ -134,6 +134,11 @@ const FilterAction = () => { const UsersManagementTab: React.FC = () => { const { t } = useUsersTranslation(); + const collectionManager = useCollectionManager(); + const usersCollection = useMemo(() => collectionManager?.getCollection('users'), [collectionManager]); + + if (!usersCollection) return ; + return (