diff --git a/packages/plugins/src/antd.ts b/packages/plugins/src/antd.ts index f1172a5dc6e6..8bac3f3dc57b 100644 --- a/packages/plugins/src/antd.ts +++ b/packages/plugins/src/antd.ts @@ -255,6 +255,13 @@ export default (api: IApi) => { isV5 && (userInputCompact || userInputDark) ? { compact: userInputCompact, dark: userInputDark } : false, + /** + * 是否重构了全局静态配置。 重构后需要在运行时将全局静态配置传入到 ConfigProvider 中。 + * 实际上 4.13.0 重构后有一个 bug,真正的 warn 出现在 4.13.1,并且 4.13.1 修复了这个 bug。 + * @**umi-issue:** https://github.com/umijs/umi/issues/10231 + * @**antd-PR:** https://github.com/ant-design/ant-design/pull/29285 + */ + hasRefactorStaticConfig: semver.gte(antdVersion, '4.13.0'), }, tplPath: winPath(join(ANTD_TEMPLATES_DIR, 'runtime.ts.tpl')), }); diff --git a/packages/plugins/templates/antd/runtime.ts.tpl b/packages/plugins/templates/antd/runtime.ts.tpl index 64b475e224bb..06eae4b382ab 100644 --- a/packages/plugins/templates/antd/runtime.ts.tpl +++ b/packages/plugins/templates/antd/runtime.ts.tpl @@ -50,6 +50,7 @@ export function rootContainer(rawContainer) { let container = rawContainer; {{#configProvider}} + {{^hasRefactorStaticConfig}} if (finalConfigProvider.prefixCls) { Modal.config({ rootPrefixCls: finalConfigProvider.prefixCls @@ -61,6 +62,15 @@ export function rootContainer(rawContainer) { prefixCls: `${finalConfigProvider.prefixCls}-notification` }); } + {{/hasRefactorStaticConfig}} + + {{#hasRefactorStaticConfig}} + if (finalConfigProvider.prefixCls) { + ConfigProvider.config({ + prefixCls: finalConfigProvider.prefixCls, + }); + }; + {{/hasRefactorStaticConfig}} if (finalConfigProvider.iconPrefixCls) { // Icons in message need to set iconPrefixCls via ConfigProvider.config()