Skip to Content
🎉 Nextra 4.0 is released. dimaMachina is looking for a new job or consulting.
指引主题UI 主题

Ant Design 主题配置

根据主题颜色产出组件库的主题变量

/** * Get antd theme * * @param colors Theme colors * @param darkMode Is dark mode */ function getAntdTheme(colors: App.Theme.ThemeColor, darkMode: boolean) { const { defaultAlgorithm, darkAlgorithm } = antdTheme; const { primary, info, success, warning, error } = colors; const theme: ConfigProviderProps['theme'] = { token: { colorPrimary: primary, colorInfo: info, colorSuccess: success, colorWarning: warning, colorError: error }, cssVar: true, algorithm: [darkMode ? darkAlgorithm : defaultAlgorithm], components: { Button: { controlHeightSM: 28 }, Menu: { subMenuItemBg: 'transparent', darkSubMenuItemBg: 'transparent', darkItemBg: 'transparent', itemSelectedBg: darkMode ? transformColorWithOpacity(colors.primary, 0.3, '#000000') : transformColorWithOpacity(colors.primary, 0.1, '#ffffff'), itemMarginInline: 8 } } }; return theme; } /** AntDesign theme */ const antdTheme = getAntdTheme(colors, darkMode);
Note
  • 代码位置
  • src/features/theme/shared.ts
  • src/features/theme/themeStore.ts

应用主题变量

<ConfigProvider theme={antdTheme} locale={antdLocales[locale]} button={{ classNames: { icon: 'align-1px text-icon' } }} > <MenuProvider> <AppProvider> <router.CustomRouterProvider /> </AppProvider> </MenuProvider> </ConfigProvider>
Note

src/features/antdConfig/antdConfig.tsx 中应用主题变量

Last updated on