Umi4使用预设和自定义Antd主题(React+Umi从零快速搭建中后台系统保姆级记录教程(2))

前言

篇文篇文章将介绍Uim4自定义Antd主题,包括antd默认主题和自定义主题等。跟着官方文档配置的话会有各种问题,这里可以按我的方式去做就可以。

项目地址:github.com/XiaoRongwen...

本系列文章将讲述React+Umi4快速搭建后台管理系统的具体实现步骤。 在上一章具体实现了项目从0到1的具体实践步骤。 如果你没有项目可以直接从项目地址获取,也可以 git clone https://github.com/XiaoRongwen/umi_backend_template.git直接拉取。 如果比较懵逼的话可以去从上一篇文章从0到1实践一下,跟着文档学习会收获很多!!!

💕💕😍👍初心:希望帮助更多像我一样无助且迷茫,想提升自我的小伙伴,同时提升自己,分享自己的学习方法。

教程开始

Ant Design 主题定制

在Umi中有使用antd文档说明,文档说明是带的4.0的antd,但是我们实际安装的是5.4.0。这里影响不大,只是注意一下即可。按照官网的配置,会有一些问题,可以按照我这个配置,运行很丝滑。

使用默认的主题

官方文档这里umijs.org/docs/max/an... 有介绍如何去配置antd默认的主题(暗黑主题),但是官方文档有坑!!!!按照他的配不出来,跟我一步一步来就解决啦。为了更好的理解,你可以去看看Antd的文档如何自定义主题,它提供了三个默认的主题。

  1. 配置antd的默认提供的几个主题

打开umi官网找到antd的使用运行时配置说明。 我们复制这个运行时的配置时的代码到app.ts最底部。 这个时候有报错!!不要慌~,这个小荣给你们踩坑了。。。。

  • 一个是引入相关的模块,这个自己引入即可。 import { theme } from 'antd';
  • 其次是传入一个空对象,对象中没有对应的属性。

这个空对象从哪里来呢?~折磨了小一会儿,原来这个空对象是config/config.ts下面的antd配置是一个空对象。这个时候我们给这个对象一些配置或者注释掉,这里我默认了给几个空配置,如下仅供参考。 这个时候我们回到app.ts他就不会再给我们报错了。

这个时候我们再看看这段代码

js 复制代码
export const antd: RuntimeAntdConfig = (memo) => {
  memo.theme ??= {};
  memo.theme.algorithm = theme.darkAlgorithm; // 配置 antd5 的预设 dark 算法

  memo.appConfig = {
    message: {
      // 配置 message 最大显示数,超过限制时,最早的消息会被自动关闭
      maxCount: 3,
    },
  };

  return memo; /*  */
};

可以看出给我们配置默认提供的暗黑主题。这个时候我们保存运行,看一下结果。如下:

自定义主题/定制主题

学习第一步,看官网umijs.org/docs/max/an... !!!看不懂没关系~

大概意思就是配置configProvider 和 theme 相当于配置antd的一致, 这个时候我们再打开antd的主题官网定制主题 ant.design/docs/react/... 乍一看东西好多。。。。确实好多,听君一席话如废话emmm。。。跟我来操作! 看官网下面这个token配置, 我们把它复制到我们的app.ts中

保存运行!!这个时候我们的主题色和圆角已经被更改了。完美~~~~~~~~~~~

同时文档指出了怎么去配置这个组件的样式。

其他的属性呢?在哪里看?怎么配置?只是改了主题色,其他的配置在哪里?全局配置?组件配置????好多疑问!!当然是看文档下一步!! 翻到文档api ant.design/docs/react/...

大概意思是token是全局的配置,components是组件的配置。其他两个先不管。这两个属性都有什么配置呢?在哪里找?直接官网搜索。

搜完发现每个组件下都会有全局和组件的配置属性,这个时候自己去配置就好了,这里文章就不过多配置。

动态主题切换

自己写动态切换

当然antd的文档也给我们写了一个动态切换主题的demo。这里因为小荣还没有做布局这里就先提供下思路,不做具体操作(有没有可能作者还没操作出来?),持续关注,后面文章会给出实践demo~。 ant.design/docs/react/...

procomponents提供的主题切换工具

antd procomponents提供了一个组件可以轻松帮我们切换主题,可以看看以下代码实例。 procomponents.ant.design/components/...

总结

本章简单的讲述了使用默认主题,定制主题的一些内容。

因为文档超级超级多,笔者也在探索中,欢迎大家积极讨论学习,点赞评论收藏,持续关注。

下篇文章我们将讲述项目的基本布局layout样式,菜单样式,面包屑等功能。

点赞收藏+关注~~~~

菜鸡小荣加油~~

相关推荐
777VG1 天前
PostgreSQL +martin将多张表输出成一个 MVT
前端·数据库·postgresql
mayaairi1 天前
JS循环语句深度解析:嵌套for、while与do...while
开发语言·前端·javascript
To_OC1 天前
啃完流式输出:从一个卡顿的 LLM 接口开始,我搞懂了数据流到底怎么 “流”
前端·javascript·llm
阳光是sunny1 天前
LangGraph实战教程:defer延迟节点——让收尾工作自动排到最后
前端·人工智能·后端
kyriewen1 天前
我用了三周Claude Code Skills——总结出5条铁律,第3条最反直觉
前端·ai编程·claude
阳光是sunny1 天前
LangGraph实战教程:控制流详解
前端·人工智能·后端
格尔曼Noah1 天前
Safari浏览器中如何只允许指定网站下载
前端·safari
用户059540174461 天前
用了3年Redis,才发现我一直没搞懂缓存一致性测试
前端·css
swipe1 天前
07|(前端转后全栈)为什么后端也要缓存?从前端缓存思维理解 Redis
前端·后端·全栈
IT小盘1 天前
05-企业项目统一接入多个大模型-适配器模式实战
前端·人工智能·适配器模式