@@ -7,7 +7,7 @@ import type localesEn from '../../locales/langs/en';
77import ReactEasyContext , { type ReactEasyContextProps } from './context' ;
88import useStyle from './style' ;
99
10- export interface ConfigProviderProps extends ReactEasyContextProps {
10+ export interface ConfigProviderProps extends Omit < ReactEasyContextProps , 'getPrefixCls' > {
1111 /**
1212 * - **EN:** Child elements of the ConfigProvider
1313 * - **CN:** ConfigProvider 的子元素
@@ -40,7 +40,7 @@ export interface ConfigProviderProps extends ReactEasyContextProps {
4040 * - **EN:** Provide global configuration for AntdHelper
4141 * - **CN:** 提供AntdHelper的全局配置
4242 */
43- const ConfigProvider : FC < ConfigProviderProps > = ( props ) => {
43+ const ConfigProvider : FC < ConfigProviderProps > & { ConfigContext : typeof ReactEasyContext } = ( props ) => {
4444 const { children, locales : userLocales , prefixCls : prefixClsInProps , className, style, ...restProps } = props ;
4545 const { lang : langInProps } = restProps ;
4646 const { getPrefixCls, rootPrefixCls } = useContext ( ReactConfigProvider . ConfigContext ) ;
@@ -51,10 +51,14 @@ const ConfigProvider: FC<ConfigProviderProps> = (props) => {
5151 if ( langInProps !== locales . language ) {
5252 locales . changeLanguage ( langInProps || 'en-US' ) ;
5353 }
54- return restProps ;
54+ return {
55+ ...restProps ,
56+ getPrefixCls : ( suffixCls : string , customizePrefixCls ?: string ) =>
57+ getPrefixCls ( `easy-${ suffixCls } ` , customizePrefixCls ) ,
58+ } ;
5559 } ,
5660 // eslint-disable-next-line @tiny-codes/react-hooks/exhaustive-deps
57- [ langInProps , ...Object . values ( restProps ) ]
61+ [ langInProps , getPrefixCls , ...Object . values ( restProps ) ]
5862 ) ;
5963
6064 useEffect ( ( ) => {
@@ -79,5 +83,6 @@ const ConfigProvider: FC<ConfigProviderProps> = (props) => {
7983 ) ;
8084} ;
8185ConfigProvider . displayName = 'ReactEasyConfigProvider' ;
86+ ConfigProvider . ConfigContext = ReactEasyContext ;
8287
8388export default ConfigProvider ;
0 commit comments