前端组件库 ——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/

相关文章
|
1月前
|
人工智能 API Python
办公Agent如何真正提效?用数据对比说明:介入前后团队时间消耗变化
这是一份真实办公提效实验报告:20人团队引入办公Agent后,事务与沟通时间骤降56%,人均每周多出9小时有效工作时间。数据揭示——AI不替代人,而是接管填表、催办、写纪要等低价值衔接工作,让人回归核心创造。(239字)
179 7
|
2月前
|
弹性计算 测试技术 数据库
阿里云服务器秒杀活动介绍:秒杀配置、价格、活动入口与秒杀策略
2026年阿里云服务器秒杀活动推出两款轻量应用服务器:2核2G配置38元1年,2核4G配置9.9元1个月、199元1年,每天10点和15点限量开抢。活动助力个人和中小企业优惠上云,服务器预装应用镜像,适合开发者、学生等快速搭建应用。秒杀规则严格,需提前准备。若秒杀失败或不符合条件,可考虑长效特惠方案,如99元/年的经济型e实例或199元/年的通用算力型u1实例。
|
1月前
|
人工智能 运维 安全
Windows10用户部署OpenClaw的终极指南|路径规范+权限配置+故障排查
专为Windows 10 64位深度优化的OpenClaw(小龙虾)一键部署包:免命令行、免环境配置,解压即装;内置全部依赖与28万Tokens,全程可视化操作;独家解决SmartScreen拦截、权限限制等Win10特有问题,新手也能一次成功“养虾”!
|
2月前
|
数据采集 缓存 运维
IP查询工具如何评估IP负载?云上资源分配的实战方法
我们曾因P99延迟骤升盲目扩容无效,最终靠IP分桶定位到某云厂商ASN段的爬虫流量。IP查询工具不测性能,而是为请求打标签(ASN/代理类型/风险分等),结合监控数据精准识别“谁拖垮了系统”。分四类桶、设三条件、按优先级调度(分流>限流>扩容>封禁),离线缓存+二次验证,避免误伤。
|
1月前
|
SQL 机器学习/深度学习 自然语言处理
从单模态到多模态:一文看懂智能问数平台如何“读懂”你的表格、文本和图
截至2026年5月,智能问数平台对表格、文本、图等多模态数据的处理已形成四类技术路线:预制SQL、Text2SQL+宽表、预制指标平台及本体语义层。后者在跨模态融合、泛化能力与准确率(闭卷95%+、开卷100%)上优势显著,但需前期语义治理投入;前三者适用固定场景,维护成本随业务扩张呈指数增长。选型关键不在技术优劣,而在匹配组织的数据复杂度、业务变化频率与治理能力。
|
1月前
|
人工智能 自然语言处理 安全
阿里云百炼Token Plan(团队版)怎么样?为企业解决了哪些AI订阅痛点?功能、优势与适用场景解析
阿里云百炼Token Plan(团队版)是面向企业团队推出的AI大模型订阅服务,以Credits统一计量,支持Qwen、GLM、Kimi等20+主流模型灵活切换,兼容Qoder、OpenClaw等主流AI编程与智能体工具。提供标准、高级、尊享三档坐席套餐及共享用量包,包月预算可控。内置团队管理后台,支持席位分配、用量分析与权限控制;通过统一接入解决企业多平台分散管理、成本不透明、安全失控等痛点,适合规模化AI开发与跨部门协作场景。
|
1月前
|
人工智能 监控 测试技术
AI智能体的开发流程
AI智能体开发需结构化推进:明确定义目标与角色,设计含规划、记忆、工具、模型的四大核心架构;借助LangChain/CrewAI等框架实现;通过基准测试与人工审核保障可靠性;最终部署并持续监控优化。初学者可从Coze等低代码平台入门。(239字)
|
2月前
|
人工智能 架构师
Qoder Together 郑州站来啦!解锁企业级 AI Coding 落地玩法
4月22日14:00-17:00,郑州阿里中心举办AI Coding实战沙龙!聚焦Qoder产品解析、企业级方案及UU跑腿落地实践,架构师现场带练。名额有限,速报名→ https://huodongxing.com/event/4855877137411
245 4
|
2月前
|
人工智能
HappyHorse 1.0 系列模型使用指南
HappyHorse 1.0 是一款基于原生多模态架构的新一代 AI 视频生成模型,支持音视频协同生成;产品深度适配广告营销、电商展示、短剧制作与社交媒体创意等内容生产场景。
|
2月前
|
人工智能 安全 机器人
阿里云JVS Claw全面开放:无需邀请码云端”养龙虾“,不需要安装体验OpenClaw,纯免费!
阿里云JVS Claw(“AI龙虾”)是基于OpenClaw打造的开箱即用AI智能体,JVS官网:https://t.aliyun.com/U/IJbaxg 支持云端/本地双模部署,无需邀请码、纯免费体验。它能真正动手执行任务——处理文档、分析数据、抓取网页、运行代码,并通过技能库(ClawHub)持续进化。三端互通,5分钟上手,让普通人也能拥有专属数字员工。
753 6