前端组件库 ——Arco Design React 知识点大全(三)

简介: 教程来源 https://www.aescc.cn/ Arco Design 支持灵活的主题定制与国际化:可通过 Less 变量(编译时)或 CSS 自定义属性(运行时)定制主题,配合 ConfigProvider 动态切换;提供 Design Lab 可视化配置平台;内置多语言支持及 RTL 布局适配,助力品牌统一与全球化开发。

四、主题定制

4.1 主题定制原理
Arco Design 提供了两种主题定制方式:通过 Less 变量覆盖和通过 CSS 变量定制。两种方式各有优劣:
image.png
4.2 通过 Less 变量定制(编译时)
步骤一:安装 less

npm install less less-loader -D

步骤二:创建自定义主题文件

// custom-theme.less
@import '~@arco-design/web-react/es/style/index.less';

// 覆盖主题变量
@primary-color: #4c6ef5;          // 品牌主色
@success-color: #10b981;           // 成功色
@warning-color: #f59e0b;           // 警告色
@error-color: #ef4444;             // 错误色

@border-radius-none: 0;
@border-radius-small: 2px;
@border-radius-medium: 4px;
@border-radius-large: 6px;
@border-radius-circle: 50%;

@font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

步骤三:配置 Webpack/Vite

// webpack.config.js
module.exports = {
  module: {
    rules: [
      {
        test: /\.less$/,
        use: [
          'style-loader',
          'css-loader',
          {
            loader: 'less-loader',
            options: {
              lessOptions: {
                javascriptEnabled: true,
                modifyVars: {
                  'primary-color': '#4c6ef5',
                },
              },
            },
          },
        ],
      },
    ],
  },
};

4.3 通过 CSS 变量定制(运行时)
Arco Design 使用 CSS 自定义属性来定义主题变量,支持运行时动态切换主题。

/* 在全局样式文件中覆盖 CSS 变量 */
:root {
  --primary-color: #4c6ef5;
  --success-color: #10b981;
  --warning-color: #f59e0b;
  --error-color: #ef4444;
  --border-radius-small: 4px;
  --border-radius-medium: 8px;
}

[data-theme='dark'] {
  --primary-color: #6d28d9;
  --bg-color: #1a1a2e;
  --text-color: #e0e0e0;
}

4.4 使用 ConfigProvider 动态切换主题

import { ConfigProvider, Button } from '@arco-design/web-react';
import { useState } from 'react';

function ThemeSwitcher() {
  const [theme, setTheme] = useState('light');

  const toggleTheme = () => {
    const newTheme = theme === 'light' ? 'dark' : 'light';
    setTheme(newTheme);
    // 动态设置 CSS 变量
    if (newTheme === 'dark') {
      document.documentElement.style.setProperty('--primary-color', '#8b5cf6');
    } else {
      document.documentElement.style.setProperty('--primary-color', '#4c6ef5');
    }
  };

  return (
    <ConfigProvider theme={
  { theme }}>
      <Button onClick={toggleTheme}>切换主题</Button>
    </ConfigProvider>
  );
}

4.5 Design Lab 可视化主题定制
Arco Design 提供了 Design Lab 可视化主题配置平台,设计师和开发者可以协作完成品牌主题定制。通过 Design Lab,你可以:

可视化调整主题变量,实时预览效果

导出主题配置代码,直接集成到项目中

管理多个主题版本,支持 A/B 测试

一键生成 Figma 设计资源

五、国际化

5.1 ConfigProvider 国际化
Arco Design 通过 ConfigProvider 组件统一管理国际化配置,支持多种语言切换。

import { ConfigProvider, Button, DatePicker, Pagination } from '@arco-design/web-react';
import enUS from '@arco-design/web-react/es/locale/en-US';
import zhCN from '@arco-design/web-react/es/locale/zh-CN';
import { useState } from 'react';

function I18nDemo() {
  const [locale, setLocale] = useState(zhCN);

  const switchLanguage = () => {
    setLocale(locale === zhCN ? enUS : zhCN);
  };

  return (
    <ConfigProvider locale={locale}>
      <Button onClick={switchLanguage}>
        {locale === zhCN ? 'Switch to English' : '切换到中文'}
      </Button>
      <DatePicker />
      <Pagination total={100} />
    </ConfigProvider>
  );
}

Arco Design 内置了丰富的语言支持,包括简体中文、英文、日语、韩语、法语、德语、西班牙语等主流语言。你还可以通过自定义 locale 对象来扩展新的语言支持。
5.2 RTL 视图支持
Arco Design 支持 RTL(从右到左)布局,适配阿拉伯语、希伯来语等语言。

import { ConfigProvider } from '@arco-design/web-react';

function RTLDemo() {
  return (
    <ConfigProvider rtl>
      <div style={
  { direction: 'rtl' }}>
        {/* 组件将自动适配 RTL 布局 */}
        <Button type="primary">按钮</Button>
        <Input placeholder="输入框" />
      </div>
    </ConfigProvider>
  );
}

开启 rtl 属性后,所有组件的布局方向会自动适配从右到左的阅读习惯,包括按钮图标方向、输入框光标位置、下拉菜单弹出方向等。
来源:
https://aescc.cn/

相关文章
|
6月前
|
人工智能 JSON 数据格式
最新短视频解析接口
最新实用的短视频解析接口,该接口可快速解析短视频相关信息,包括视频标题、视频链接、封面链接及图集信息,适用于各类需要获取短视频基础数据的场景
3080 1
|
6月前
|
人工智能 API Python
办公Agent如何真正提效?用数据对比说明:介入前后团队时间消耗变化
这是一份真实办公提效实验报告:20人团队引入办公Agent后,事务与沟通时间骤降56%,人均每周多出9小时有效工作时间。数据揭示——AI不替代人,而是接管填表、催办、写纪要等低价值衔接工作,让人回归核心创造。(239字)
496 7
|
7月前
|
弹性计算 测试技术 数据库
阿里云服务器秒杀活动介绍:秒杀配置、价格、活动入口与秒杀策略
2026年阿里云服务器秒杀活动推出两款轻量应用服务器:2核2G配置38元1年,2核4G配置9.9元1个月、199元1年,每天10点和15点限量开抢。活动助力个人和中小企业优惠上云,服务器预装应用镜像,适合开发者、学生等快速搭建应用。秒杀规则严格,需提前准备。若秒杀失败或不符合条件,可考虑长效特惠方案,如99元/年的经济型e实例或199元/年的通用算力型u1实例。
|
6月前
|
人工智能 运维 安全
Windows10用户部署OpenClaw的终极指南|路径规范+权限配置+故障排查
专为Windows 10 64位深度优化的OpenClaw(小龙虾)一键部署包:免命令行、免环境配置,解压即装;内置全部依赖与28万Tokens,全程可视化操作;独家解决SmartScreen拦截、权限限制等Win10特有问题,新手也能一次成功“养虾”!
|
7月前
|
数据采集 缓存 运维
IP查询工具如何评估IP负载?云上资源分配的实战方法
我们曾因P99延迟骤升盲目扩容无效,最终靠IP分桶定位到某云厂商ASN段的爬虫流量。IP查询工具不测性能,而是为请求打标签(ASN/代理类型/风险分等),结合监控数据精准识别“谁拖垮了系统”。分四类桶、设三条件、按优先级调度(分流>限流>扩容>封禁),离线缓存+二次验证,避免误伤。
|
7月前
|
存储 运维 监控
互成软件终端智能告警体系(SIEM)设计与实施:从多源采集到多渠道通知的闭环方案
互成软件终端智能告警体系,覆盖违规外联、设备使用、安全风险、硬件/软件/配置/磁盘/性能等八大风险维度;支持动态模板通知、邮件短信双通道触达、多级关联聚合与降噪,并兼顾合规隐私。实现从事件检测到闭环处置的全链路安全运营。(239字)
|
6月前
|
SQL 机器学习/深度学习 自然语言处理
从单模态到多模态:一文看懂智能问数平台如何“读懂”你的表格、文本和图
截至2026年5月,智能问数平台对表格、文本、图等多模态数据的处理已形成四类技术路线:预制SQL、Text2SQL+宽表、预制指标平台及本体语义层。后者在跨模态融合、泛化能力与准确率(闭卷95%+、开卷100%)上优势显著,但需前期语义治理投入;前三者适用固定场景,维护成本随业务扩张呈指数增长。选型关键不在技术优劣,而在匹配组织的数据复杂度、业务变化频率与治理能力。
|
6月前
|
测试技术 UED
网站加载慢?用KKCE解决测速问题指南
本文面向零基础用户,详解网站测速的准备工作(优化网络、选定核心页面、多次取均值)、标准操作步骤及结果解读,无需专业技术即可快速掌握测速方法,精准定位加载慢问题,有效提升用户体验与转化效果。(239字)
285 8
|
6月前
|
数据采集 存储 自动驾驶
数据治理是什么?数据治理与数据要素、数据资源、数据资产、数据管理的区别
本文厘清“数据要素、资源、资产、管理、治理”五大易混淆概念:要素是国家层面的新型生产要素;资源是原始数据集合;资产是确权入表的价值形态;管理是全生命周期执行;治理是顶层设计与权责体系。五者层层递进,构成数据价值闭环。
|
6月前
|
人工智能 算法 安全
2026全球Geo优化行业方法论深度评分报告白皮书
报告重点聚焦于Geo专家于磊首创的“两大核心+四轮驱动”体系,并将其与学术界及工业界的其他主流路径进行对比,为企业提供权威的决策参考。
352 5