@robot-admin/naive-ui-components
| Install | |
|---|---|
npm install @robot-admin/naive-ui-components |
|
| Latest Version: | 0.20.0 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Oct 20, 2026 |
| Links: | GitHub · npm |

项目定位
Naive UI Components 是从 Robot Admin 提炼的 Vue 3 业务组件库,以 @robot-admin/naive-ui-components 独立发布。基于 Naive UI,将配置表单、数据表格、编辑器、流程与文件媒体等常见场景统一为 C_* 组件及配套组合函数,也可独立接入其他 Vue 3 项目。
| 设计重点 | 当前提供 |
|---|---|
| 配置驱动 | 表单字段、表格列、操作按钮与弹窗通过类型化配置组合;表单提供 8 种布局 |
| 类型贯通 | 字段路径、列定义、事件与实例方法配套类型;提供 defineFormOptions、useCForm、useTableQuery 等助手 |
| 按需消费 | 55 个独立组件入口、自动导入 Resolver、组件样式入口,以及表单/表格的基础样式层级 |
| 独立接入 | 支持全量注册与局部导入;反馈、文案和全局配置可由宿主提供,表单弹窗可接入结构兼容的 Headless CRUD |
组件库负责界面与交互;业务接口、身份权限、上传服务和第三方平台配置由应用接入。当前仓库版本 0.15.0,版本变化见 CHANGELOG。
能力地图
| 场景 | 代表组件 | 覆盖能力 |
|---|---|---|
| 数据录入 | C_Form · C_FormModal · C_FormSearch |
动态字段、校验、异步提交、搜索与新增/编辑弹窗 |
| 数据操作 | C_Table · C_ActionBar · C_Tree · C_Transfer |
分页、树形数据、行/单元格编辑、跨页选择、导出与批量操作 |
| 专业编辑 | C_Editor · C_Markdown · C_Cron · C_FormulaEditor |
富文本、Markdown、Cron 预览、公式编辑与本地试算 |
| 流程与计划 | C_AntV · C_WorkFlow · C_VtableGantt · C_FullCalendar |
ER/BPMN/UML、审批流程、甘特与日历 |
| 文件与媒体 | C_Upload · C_FilePreview · C_VideoPlayer · C_AudioPlayer |
分片上传、PDF/Word/Excel 预览、音视频播放 |
| 图像与空间 | C_Signature · C_ImageCropper · C_QRCode · C_Map |
签名、裁剪、二维码、OpenStreetMap/高德地图 |
| 工作空间 | C_Menu · C_Tabs · C_TagsView · C_GlobalSearch |
菜单、场景切换、多标签导航、全局搜索 |
| 通用交互 | C_Login · C_Captcha · C_Guide · C_PageLoading |
登录、人机验证、功能引导、页面切换反馈 |
查看 全部 55 个组件与依赖,或在 Robot Admin 中体验组件场景。Cron 预览只计算时间,公式只进行本地试算;生产人机验证需接入服务端校验,详见使用指南。
快速开始
安装
在已有 Vue 3 项目中安装组件库及必需的 peer 依赖:
bun add @robot-admin/naive-ui-components
bun add vue@^3.5.0 naive-ui@^2.35.0
也可使用项目现有的 npm 或 pnpm。仅在对应场景安装可选 peer:
| 功能 | 额外安装 |
|---|---|
主入口导入 / C_Breadcrumb / C_TagsView |
vue-router@^4.6.4 |
C_Table 行/列拖拽 |
sortablejs@^1.15.7 |
用配置创建一个表单
以下示例可放入 App.vue,使用独立组件入口和对应样式,无需全局注册:
<script setup lang="ts">
import { ref } from 'vue'
import {
C_Form,
defineFormOptions,
useCForm,
} from '@robot-admin/naive-ui-components/C_Form'
import '@robot-admin/naive-ui-components/C_Form/style.css'
interface Contact {
name: string
email: string
}
const result = ref('')
const { formRef, bindings } = useCForm<Contact>({
initialValues: { name: '', email: '' },
options: defineFormOptions<Contact>([
{ type: 'input', prop: 'name', label: '姓名', required: true },
{ type: 'input', prop: 'email', label: '邮箱' },
]),
config: {
labelPlacement: 'top',
onSubmit: ({ model }) => {
result.value = `已通过校验:${model.name}`
},
},
})
</script>
<template>
<C_Form
ref="formRef"
v-bind="bindings"
/>
<p v-if="result">{{ result }}</p>
</template>
表单内置提交、重置与校验流程。实际保存时,将异步请求放入 config.onSubmit 并等待完成;@submit 用于完成通知。表单布局、验证规则、弹窗与远程表格示例见使用指南。
按需加载与样式
选择导入方式
| 方式 | 适用场景 | 样式 |
|---|---|---|
| 子路径导入 | 显式控制每个组件的依赖入口 | 导入 C_组件名/style.css |
| Resolver 自动导入 | 模板直接使用组件,减少手动导入 | 显式设置 importStyle: true |
| 主入口具名导入 | 已有项目使用 Tree-Shaking | 手动导入所需样式或全量 style.css |
app.use() 全量注册 |
统一注册整个组件库 | 导入全量 style.css |
自动导入
安装 unplugin-vue-components 后,在 Vite 配置中加入 Resolver:
bun add -d unplugin-vue-components
// vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import Components from 'unplugin-vue-components/vite'
import { RobotNaiveUiResolver } from '@robot-admin/naive-ui-components/resolver'
export default defineConfig({
plugins: [
vue(),
Components({
resolvers: [RobotNaiveUiResolver({ importStyle: true })],
}),
],
})
Resolver 默认解析到组件子路径;importStyle 默认是 false,需显式开启自动样式。true 与 'full' 均加载完整组件样式;'base' 为 C_Form / C_Table 排除内置富文本编辑器样式,其他组件仍使用完整样式。只有不使用内置富文本字段时才选择基础样式。
每个组件样式入口包含其组合组件所需样式。手动导入时可选 C_Form/base.css、C_Table/base.css;完整样式也提供 full.css 别名。重型编辑器、流程、地图和媒体组件建议随业务路由加载。完整策略与全量注册示例见导入指南。
本轮最小消费构建中,基础表单与展示表格的首屏 JS gzip 分别下降 36.1% 和 34.6%;包含 Vue 与 Naive UI,测量范围及自动体积门禁见消费体积记录。
根入口聚合导航组件,运行时也需要 vue-router。不使用路由的项目请选择组件子路径,无需因此补装无关可选 peer。
文档导航
| 文档 | 内容 |
|---|---|
| 架构与隔离 | 依赖边界、实例所有权与独立 Element Plus 演进路线 |
| 组件目录 | 55 个组件、外部依赖与各组件的使用边界 |
| 使用指南 | 导入、表单表格、Cron/公式、地图、引导、人机验证、登录与页面加载 |
| 密度与多表工作台 | 表单/搜索/表格统一密度、编辑模式、分屏与树能力 |
| 大列表与异步任务 | 自动窗口化、聊天滚动、搜索索引、字幕与图片任务 |
| 真实场景覆盖 | wl-ui-produce 对照、可组合能力与需要适配的边界 |
| 开发与构建 | 工程结构、六阶段构建、组件扩展、校验与发布流程 |
| 品牌资源 | Robot 系列 Logo、可编辑 SVG 与高清 PNG 封面 |
| 变更记录 | 版本更新与兼容变化 |
| 安全策略 | 漏洞报告与维护约定 |
本轮依赖审计的两项上游告警见 2026-10-18 扫描记录;2026-10-06 记录保留为历史档案。当前依赖状态以实际运行 bun run check:audit 的结果为准。
本地开发
维护本仓库需要 Node.js ≥20.19.0、Bun ≥1.3.14;仓库固定包管理器 bun@1.3.14,CI 按 .node-version 与冻结锁文件安装。
git clone https://github.com/ChenyCHENYU/naive-ui-components.git
cd naive-ui-components
bun install --frozen-lockfile
bun run dev
dev 监听组件库与共享 SCSS 的构建变化。交互演示由 Robot Admin 消费组件库提供。
bun run verify # Lint、类型、逻辑与组件测试、导出、构建与使用侧类型
bun run check:audit # 单独运行依赖安全审计,CI 在 verify 前执行
各项检查与发布步骤见开发与构建,CI 定义见 ci.yml。
Robot 生态
| 项目 | 职责 |
|---|---|
| Naive UI Components | 可独立消费的 Vue 3 业务组件与组合函数 |
| Robot Admin | PC Web 工程模板、业务页面与组件交互演示 |
| robot-admin-packages | 请求、验证、主题、布局、指令、文件工具与 Git 工程包 |
| Robot Cloud | 认证、公司上下文、系统管理与权限治理后端 |
许可证
MIT License · Made by CHENY
Related Packages
Version History
| Version | Released | License |
|---|---|---|
| 0.20.0 | MIT | |
| 0.19.0 | MIT | |
| 0.18.0 | MIT | |
| 0.17.6 | MIT | |
| 0.17.5 | MIT | |
| 0.17.4 | MIT | |
| 0.17.3 | MIT | |
| 0.17.2 | MIT | |
| 0.17.1 | MIT | |
| 0.17.0 | MIT | |
| 0.16.0 | MIT | |
| 0.15.0 | MIT | |
| 0.14.3 | MIT | |
| 0.14.2 | MIT | |
| 0.14.1 | MIT | |
| 0.14.0 | MIT | |
| 0.13.9 | MIT | |
| 0.13.8 | MIT | |
| 0.13.7 | MIT | |
| 0.13.6 | MIT | |
| 0.13.5 | MIT | |
| 0.13.2 | MIT | |
| 0.13.1 | MIT | |
| 0.13.0 | MIT | |
| 0.12.1 | MIT | |
| 0.11.8 | MIT | |
| 0.11.7 | MIT | |
| 0.11.6 | MIT | |
| 0.11.5 | MIT | |
| 0.11.4 | MIT |
Showing the latest 30 of 93. See every release on npm