antd更换主题和按需引入

本文详细介绍了如何在React项目中配置Ant Design,包括安装、按需引入和自定义主题。通过修改less变量实现全局颜色变更,并使用`customize-cra`进行配置调整,确保样式加载和组件按需加载。

antd更换主题和按需引入

1、项目搭建
2、项目初始化
3、安装antd

一、准备工作

这里就写上一步到位的配置吧,不用弯弯绕绕了,有需求的小伙伴直接安装配置就行。
我们在配置的时候,肯定不可能只是定义全局主色这么简单,还可能需要配置其他的颜色、字号、圆角大小等,可以参考选下面的通用变量,所有的样式变量点击这里可以查看。

@primary-color: #1890ff; // 全局主色
@link-color: #1890ff; // 链接色
@success-color: #52c41a; // 成功色
@warning-color: #faad14; // 警告色
@error-color: #f5222d; // 错误色
@font-size-base: 14px; // 主字号
@heading-color: rgba(0, 0, 0, 0.85); // 标题色
@text-color: rgba(0, 0, 0, 0.65); // 主文本色
@text-color-secondary : rgba(0, 0, 0, .45); // 次文本色
@disabled-color : rgba(0, 0, 0, .25); // 失效色
@border-radius-base: 4px; // 组件/浮层圆角
@border-color-base: #d9d9d9; // 边框色
@box-shadow-base: 0 2px 8px rgba(0, 0, 0, 0.15); // 浮层阴影

二、安装插件ant-design:

1、安装antd

yarn add antd;
npm install antd

2、安装@ant-design/icons 图标组件包:

yarn add @ant-design/icons
npm install @ant-design/icons

3、按需引入插件安装:

yarn

yarn add react-app-rewired customize-cra babel-plugin-import
npm install react-app-rewired customize-cra babel-plugin-import

3、自定义主题安装less 和 less-loader

yarn add less less-loader
npm install less less-loader

4 选项配置

1、 修改package.json中scripts节点:

/* package.json */
"scripts": {
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test",
    "eject": "react-scripts eject"
},

1、 在项目根目录新建一个名为config-overrides.js的文件,按需引入组件和组件css样式表配置代码:

const { override, fixBabelImports } = require('customize-cra');

module.exports = override(
  fixBabelImports('import', {
    libraryName: 'antd',
    libraryDirectory: 'es',
    style: 'css',
  }),
);

1、 按需引入+自定义主题配置代码:

const { override, fixBabelImports, addLessLoader, adjustStyleLoaders } = require('customize-cra');
module.exports = override(
  fixBabelImports('import', {
    libraryName: 'antd',
    libraryDirectory: 'es',
    style: true,
  }),
  addLessLoader({
    lessOptions: {
      javascriptEnabled: true,
      modifyVars: { '@primary-color': '#1DA57A' },
    }
  }),
  adjustStyleLoaders(({ use: [, , postcss] }) => {
    const postcssOptions = postcss.options;
    postcss.options = { postcssOptions };
  })
);

1、 按需引入+自定义主题配置代码:

const { override, fixBabelImports, addLessLoader, adjustStyleLoaders } = require('customize-cra');

module.exports = override(
  fixBabelImports('import', {
    libraryName: 'antd',
    libraryDirectory: 'es',
    style: true,
  }),
  addLessLoader({
    lessOptions: {
      javascriptEnabled: true,
      modifyVars: { '@primary-color': '#1DA57A' },
    }
  }),
  adjustStyleLoaders(({ use: [, , postcss] }) => {
    const postcssOptions = postcss.options;
    postcss.options = { postcssOptions };
  })
);
Antd中的Table 表格组件提供了很多基本颜色风格,但是如果我们想要更或者自定义一些颜色的话,可以通过CSS 或者自定义主题来实现。 一、通过CSS自定义 我们可以通过定义一些CSS 样式类,然后通过 className 属性绑定到表格中的相应元素上来自定义表格的颜色样式,以下为一个例子: ``` /* 表格Header 的自定义样式 */ .custom-header { background-color: #1890ff; color: #fff; } /* 表格行的自定义样式 */ .custom-row { background-color: #f0f2f5; } /* 表格奇数行自定义样式 */ .custom-row-odd { background-color: #fff; } /* 表格偶数行自定义样式 */ .custom-row-even { background-color: #fafafa; } ``` 我们可以通过 className 属性绑定到相应的表格元素上: ``` <Table columns={columns} dataSource={dataSource} rowKey="id" pagination={false} className="custom-table" components={{ header: { cell: ResizeableTitle } }} onRow={(record, index) => ({ className: index % 2 === 0 ? 'custom-row-even' : 'custom-row-odd' })} /> ``` 二、通过Antd 自定义主题 如果要更默认的 Antd 风格颜色,我们可以通过覆盖 Antd 默认的 LESS 变量来达到自定义主题的目的,以下为例子: ``` @import "~antd/dist/antd.less"; // 导入 Antd 的 LESS 样式库 @primary-color: #1890ff; // 更主题颜色 @table-header-bg: #1890ff; // 更表格头部的背景色 @table-row-hover-bg: #f5f5f5; // 更表格行悬浮时的背景色 ``` 在实际开发中,我们可以根据要来进行自定义主题的配置,然后在项目中引入自定义主题的 LESS 文件,让样式生效。 以上就是在 Antd更换表格颜色的两种常用方法,具体方法可以根据项目的实际求来选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值