Skip to content

Antd全局配置

Antd支持全局配置主题,国际化和日期

1. 配置主题

登录antd官网,点击研发-定制主题:
Alt text

jsx
import { useState } from 'react'
import { Button, Space, Checkbox, ConfigProvider, Row } from 'antd'

function App() {
  const [themeColor, setThemeColor] = useState({
    theme: {
      colorPrimary: 'blue'
    }
  })
  const clickHandle1 = () => {
    setThemeColor({...themeColor, token: {colorPrimary: 'green'} })
  }
  const clickHandle2 = () => {
    setThemeColor({...themeColor, token: {colorPrimary: 'red'} })
  }
  const clickHandle3 = () => {
    setThemeColor({...themeColor, token: {colorPrimary: '#EB2F96'} })
  }

  const clickHandle4 = () => {
    setThemeColor({
      components: {
        Button: {
          colorPrimary: '#02f8bf',
        }
      }
    })
  }
  return (
    <>
      <div style={{ marginBottom: 8 }}>
        <h2>设置主题</h2>
        <button onClick={clickHandle1}>绿色主题</button>
        <button onClick={clickHandle2}>红色主题</button>
        <button onClick={clickHandle3}>公主主题</button>
        <button onClick={clickHandle4}>只设置按钮主题</button>
      </div>
      <ConfigProvider theme={themeColor}>
        <Row gutter={[10,10]}>
          <Space>
            <Button type={'primary'}>按钮</Button>
            <Checkbox.Group options={['Apple', '香蕉']} defaultValue={['Apple', '香蕉']}/>
          </Space>

        </Row>
      </ConfigProvider>
    </>
  )
}
export default App

动态设置主题效果:
Alt text 另外Antd提供主题在线编辑器,可以在可视化页面进行配置主题:
Alt text 点击主题配置,将主题文件内容拷贝靠项目中直接生效: Alt text

2. 配置汉化日历

默认Calendar是英文的,可以配置成中文:

jsx
import { Calendar, ConfigProvider, Row } from 'antd'
import zhCN from 'antd/locale/zh_CN'
import dayjs from 'dayjs';
import 'dayjs/locale/zh-cn';
import dayLocaleData from 'dayjs/plugin/localeData';
dayjs.extend(dayLocaleData);

function App() {

  return (
    <>
      <ConfigProvider locale={zhCN}>
        <Row>
          <Calendar/>
        </Row>
      </ConfigProvider>
    </>
  )
}

export default App

运行效果:
Alt text