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样式,菜单样式,面包屑等功能。

点赞收藏+关注~~~~

菜鸡小荣加油~~

相关推荐
学习使我快乐012 小时前
JS进阶 3——深入面向对象、原型
开发语言·前端·javascript
bobostudio19952 小时前
TypeScript 设计模式之【策略模式】
前端·javascript·设计模式·typescript·策略模式
黄尚圈圈3 小时前
Vue 中引入 ECharts 的详细步骤与示例
前端·vue.js·echarts
浮华似水4 小时前
简洁之道 - React Hook Form
前端
正小安6 小时前
如何在微信小程序中实现分包加载和预下载
前端·微信小程序·小程序
_.Switch7 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
一路向前的月光7 小时前
Vue2中的监听和计算属性的区别
前端·javascript·vue.js
长路 ㅤ   7 小时前
vite学习教程06、vite.config.js配置
前端·vite配置·端口设置·本地开发
长路 ㅤ   7 小时前
vue-live2d看板娘集成方案设计使用教程
前端·javascript·vue.js·live2d
Fan_web8 小时前
jQuery——事件委托
开发语言·前端·javascript·css·jquery