PrimeVue logo

PrimeVue

Vue.js 下一代 UI 组件库,90+ 高质量组件与灵活主题系统

Vue组件库主题系统无障碍

PrimeVue 是 PrimeTek 维护的 Vue 3 组件库,提供 90+ 组件、强大的 Pass Through API 和多层级 Design Token 主题系统,是 Vue 生态中组件最丰富、功能最全的库之一。

PrimeVue — Vue.js 下一代 UI 组件库

PrimeVue 是由 PrimeTek 公司维护的 Vue 3 UI 组件库,以 90+ 高质量组件、灵活的主题系统和强大的 Pass Through API 著称,是 Vue 生态中组件数量最多、功能最全面的组件库之一。

基本信息

属性说明
名称PrimeVue
维护团队PrimeTek(自 2008 年起,拥有 PrimeFaces、PrimeNG、PrimeReact 等系列产品)
最新版本v4.5.5(2026 年 4 月发布);v5 起转入商业授权
Vue 版本Vue 3.x(v3 行支持 Vue 2;v4+ 仅支持 Vue 3)
许可证v4 及之前版本:MIT(已发布版本永久保持 MIT);v5 起:商业许可($599/开发者)
TypeScript全面支持,完整类型定义
官方文档https://primevue.dev/
GitHub 仓库https://github.com/primefaces/primevue(2026 年 6 月归档,只读)
新仓库/品牌PrimeUI(统一商业品牌)
Discord 社区22,000+ 成员

⚠️ 重要变更(2026 年):PrimeVue 原 GitHub 仓库已于 2026 年 6 月 28 日归档为只读状态。PrimeVue 作为 PrimeTek 旗下产品之一,已纳入新的统一商业品牌 PrimeUI。未来版本(v5+)将以编译后的 npm 包形式分发,需要有效的授权密钥。


核心特性

1. 90+ 组件——Vue 生态中最丰富的组件库之一

PrimeVue 提供 90+ 种开箱即用的 UI 组件,覆盖面在 Vue 组件库中名列前茅,远超大多数竞品。主要组件分类包括:

分类代表组件
表单组件InputText、Dropdown、MultiSelect、Calendar、ColorPicker、TriStateCheckbox、InputMask、AutoComplete、InputGroup
数据展示DataTable(旗舰组件)、TreeTable、DataView、OrderList、PickList、VirtualScroller
树形组件Tree、TreeSelect、OrganizationChart
按钮与菜单Button、SplitButton、SpeedDial、Menubar、TieredMenu、ContextMenu、PanelMenu、TabMenu
面板与容器Panel、Fieldset、Card、Accordion、TabView、Splitter、Toolbar
覆盖层Dialog、Drawer(原 Sidebar)、OverlayPanel、Popover、Tooltip
文件处理FileUpload(拖拽上传)、Image(图片预览)
图表与编辑Chart(基于 Chart.js)、Editor(基于 Quill)— ⚠️ v5 起为 PRO 组件
状态与进度ProgressBar、ProgressSpinner、Skeleton、Tag、Badge、MeterGroup
消息与确认Message、Toast、ConfirmDialog、ConfirmPopup
多媒体Carousel、Galleria、PanelMenu
布局Divider、ScrollTop、ScrollPanel
工具函数Avatar、Chip、Terminal

DataTable 是 PrimeVue 的旗舰组件,功能在 Vue 生态中数一数二:

  • 排序、筛选、分页
  • 行展开/折叠、行编辑
  • 列冻结、列拖拽、列切换
  • 虚拟滚动(Virtual Scrolling)
  • 懒加载(Lazy Loading)
  • 多选/单选/复选框选择
  • 导出(CSV、Excel)
  • 响应式布局
  • 状态持久化

2. 灵活的主题系统

PrimeVue 提供多层级的主题定制方案,满足从"开箱即用"到"完全自定义"的全部需求:

内置主题预设

v4 提供 4 个内置主题预设,展示设计无关的主题能力:

主题风格
AuraPrimeTek 原创现代主题,默认推荐
MaterialMaterial Design 风格
Lara清爽简洁的现代风格
Nora另一种现代设计风格

三种样式模式

模式说明适用场景
Styled Mode使用内置主题 + Design Tokens 渲染快速开发、标准企业应用
Unstyled Mode移除所有默认 CSS,仅保留组件逻辑和无障碍功能完全自定义设计系统
Volt(Tailwind 方案)通过 Tailwind CSS v4 工具类注入样式Tailwind 技术栈团队

Design Tokens(设计令牌)

  • v4 引入全新的 多层级 Design Token 系统
  • 可精确控制颜色、间距、字体、圆角、阴影等所有视觉属性
  • 支持 definePreset() 创建自定义主题预设
  • 支持全局和组件级别的 Token 覆盖

Theme Designer(主题设计器)

3. Pass Through API(穿透 API)

Pass Through(简称 PT)是 PrimeVue 最具创新性的特性之一:

<DataTable
  :value="products"
  :pt="{
    table: { style: 'min-width: 25rem' },
    header: { class: 'bg-blue-500 text-white p-4' },
    body: { class: 'custom-body' },
    row: (options) => ({
      class: options.context.selected ? 'bg-highlight' : ''
    })
  }"
>
  <!-- 列定义 -->
</DataTable>

核心能力:

  • 直接访问组件 内部 DOM 元素,添加任意 HTML 属性、class、style
  • 支持 静态对象动态函数(根据组件上下文返回属性)
  • 在 Unstyled Mode 下配合 Tailwind CSS 使用效果极佳
  • 不需要覆盖 CSS 或修改组件源码即可深度定制
  • @primevue/themes 包中的 usePassThrough() 组合可创建可复用配置

4. 无障碍(Accessibility)

  • 默认符合 WCAG 标准
  • 完整的 键盘导航 支持
  • 屏幕阅读器 兼容
  • ARIA 属性内置
  • 在 Vue 组件库中无障碍做得最完善之一

5. SSR 就绪

  • 完全支持 服务端渲染
  • NuxtVite 等框架无缝集成
  • Tree Shakeable,优化打包体积

适用场景

✅ 最适合的场景

场景说明
企业级后台管理系统DataTable + 表单组件 + 布局组件覆盖 90% 以上需求
复杂表单应用丰富的表单控件、验证支持、输入掩码、自动完成
数据密集型应用DataTable 的排序/筛选/虚拟滚动/懒加载/导出功能
需要深度定制的项目Pass Through API + Unstyled Mode 提供极致灵活性
设计系统构建Design Tokens + Theme Designer 支持从零构建设计体系
Tailwind CSS 项目Volt 方案让 PrimeVue 组件完美融入 Tailwind 生态
国际化应用内置多语言支持和 RTL 布局

⚠️ 需要权衡的场景

场景说明
轻量级项目90+ 组件库体积偏大,即使支持 Tree Shaking
极简设计风格默认主题偏"重型",需要大量定制才能极简
预算有限的商业项目v5 起需商业许可($599/开发者),成本需评估

技术亮点

1. 组件丰富度——Vue 生态之最

PrimeVue 的 90+ 组件 在 Vue 组件库中处于顶级水平:

  • 对比 Element Plus(~70+ 组件):PrimeVue 在树形组件、数据展示、覆盖层方面更全面
  • 对比 Vuetify(~80+ 组件):两者数量接近,但 PrimeVue 的 DataTable 功能更强
  • 对比 Ant Design Vue(~60+ 组件):PrimeVue 组件更多且更灵活
  • 旗舰 DataTable 是 Vue 生态中最强大的数据表格组件之一

2. 极致的灵活性

PrimeVue 的灵活性在主流组件库中罕有匹敌:

  • 三层样式方案:Styled / Unstyled / Volt,适应不同技术栈
  • Pass Through API:在不修改组件内部实现的前提下,精确控制每个 DOM 节点
  • Design Tokens:从全局到组件级别的主题定制
  • Theme Designer:可视化 + Figma 自动转换

3. 性能优化

  • Tree Shaking:按需导入,未使用的组件不会打入最终包
  • 虚拟滚动:DataTable、Tree、Select 等组件支持大数据量虚拟渲染
  • 懒加载:DataTable 支持服务端分页、排序、筛选
  • 编译优化:v4 全面拥抱现代 Web API,消除历史技术债务

4. 生态扩展

扩展说明
Volt基于 PrimeVue 无样式核心 + Tailwind CSS v4 的 50+ 组件库
PrimeBlocks预制的页面模板和区块(部分免费)
Sakai免费的管理模板
Diamond / Atlantis / Apollo 等付费高级管理模板
Theme Designer可视化主题定制工具
Figma UI Kit官方 Figma 设计资源

生态集成

框架集成

框架集成方式
Nuxt官方 Nuxt 模块支持,SSR 就绪
Vite原生支持,开箱即用
Laravel官方 Laravel 集成指南
Vue CLI完全兼容

与 Tailwind CSS 集成

PrimeVue 与 Tailwind CSS 的集成有两种路径:

  1. Unstyled Mode + Tailwind Plugin

    • 使用 tailwindcss-primeui 插件
    • 通过 Pass Through API 注入 Tailwind 工具类
    • 官方文档支持
  2. Volt(推荐的新方案)

    • 基于 Unstyled PrimeVue Core + Tailwind CSS v4
    • 50+ 预定义组件,原生 Tailwind 风格
    • 自定义变体 p-* 支持组件特定样式
    • 地址:https://volt.primevue.org/

相关 npm 包

包名说明
primevue核心组件库
@primevue/themes主题预设包(v4.5.5)
@primeuix/themes跨框架共享主题包(v4.3.0 起)
@primeuix/styles跨框架共享样式包
@primeuix/utils跨框架共享工具函数
tailwindcss-primeuiTailwind CSS 集成插件

学习资源

官方资源

资源链接
官方文档https://primevue.dev/
v3 文档(存档)https://v3.primevue.org/
v4 文档https://v4.primevue.org/
Theme Designerhttps://primevue.org/designer/guide/
Volt 文档https://volt.primevue.org/
GitHub 仓库https://github.com/primefaces/primevue(已归档)
中文文档站https://primevue.cn/
Discord 社区22,000+ 成员
Twitter/Xhttps://x.com/primevue
LLMs 文件https://primevue.org/llms/llms-full.txt(AI 友好的完整文档)

视频教程

视频说明
Getting Started with PrimeVue v4v4 入门教程(Vite + Styled Mode)
PrimeVue @ Vue.js Live 2024官方在 Vue.js Live 2024 的演讲
Introducing Volt UI Component LibraryVolt 介绍视频
PrimeVue Theming Demystified主题系统详解
Introduction to Pass Through PropsPass Through API 入门

文章与教程

资源说明
Unlock the Power of PrimeVueVue.js Developers 综合介绍
Crafting Stunning UIs with Prime VueVue School 教程文章
Integrating PrimeVue Pass Through with VoltPass Through + Volt + Tailwind 集成实践
Found a New UI Library for Vue: PrimeVueDEV Community 入门体验
v4 迁移指南(中文)从 v3 迁移到 v4 的官方中文指南

社区讨论

资源说明
Vuetify vs PrimeVue 对比(Reddit)2025 年社区对比讨论
PrimeVue which theming method?主题方案选择讨论
Understanding Volt in PrimeVue ecosystemVolt 定位讨论

2026 年现状

重大变化:PrimeUI 品牌整合

2026 年是 PrimeVue 发展历程的重要转折点:

  1. GitHub 仓库归档primefaces/primevue 于 2026 年 6 月 28 日归档为只读
  2. 统一商业品牌 PrimeUI:PrimeVue、PrimeNG、PrimeReact 纳入统一品牌
  3. 授权模式变更
    • v4 及之前版本:永久保持 MIT 开源
    • v5 起:需要商业许可($599/开发者,含一年更新)
    • Chart 和 Editor 组件从 v5 起转为 PRO 付费组件
    • 符合条件的个人和小团队可免费使用社区许可
  4. 分发方式变化:v5 将以编译后的 npm 包形式分发,需授权密钥激活

当前可用版本

版本状态说明
v4.x(最新 v4.5.5)✅ 可用,MIT当前推荐的免费版本
v3.x✅ 可用,MIT长期维护,v3 文档仍在线
v5.x🔒 商业许可编译后的 npm 包,需授权

未来规划

  • PrimeLit:面向 Web Components 的新库
  • PrimeBlazor:面向 .NET 生态的库
  • PRO 组件扩展:图表、文档阅读器等高级组件
  • Volt 持续演进:Tailwind CSS 集成方案继续完善

社区评价

PrimeVue 在 Vue 社区中的地位:

  • 优势:组件丰富度公认第一梯队,DataTable 是 Vue 生态最强表格之一
  • 争议:授权模式变更引发社区关注,部分开发者转向 Element Plus 或 Vuetify
  • 共识:v4.x 仍然是 Vue 生态中最强大、最灵活的免费组件库之一

快速上手

# 安装
npm install primevue @primevue/themes
# 或
pnpm add primevue @primevue/themes
// main.js - 最小配置
import { createApp } from 'vue'
import PrimeVue from 'primevue/config'
import { definePreset } from '@primevue/themes'
import Aura from '@primevue/themes/aura'
 
const app = createApp(App)
 
// 自定义主题预设
const MyPreset = definePreset(Aura, {
  semantic: {
    primary: {
      500: '{indigo-500}'
    }
  }
})
 
app.use(PrimeVue, {
  theme: {
    preset: MyPreset,
    options: {
      prefix: 'p',
      darkModeSelector: '.dark-mode'
    }
  }
})
 
app.mount('#app')
<!-- App.vue - 使用组件 -->
<template>
  <DataTable :value="products" :paginator="true" :rows="10">
    <Column field="name" header="名称" />
    <Column field="price" header="价格" />
    <Column field="category" header="类别" />
  </DataTable>
</template>

与其他 Vue 组件库对比

维度PrimeVueElement PlusVuetifyAnt Design Vue
组件数量90+70+80+60+
设计风格多主题可选简洁企业风Material Design专业商务风
DataTable⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
灵活性⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Tailwind 集成⭐⭐⭐⭐⭐(Volt)⭐⭐⭐⭐⭐⭐⭐
免费可用性v4 MIT 免费完全免费完全免费完全免费
无障碍⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
中文社区⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
学习曲线中等中等中等

总结

PrimeVue 是 Vue 生态中 组件最丰富、灵活性最强 的 UI 组件库之一,特别适合:

  • 需要 DataTable 等复杂数据展示组件的企业级应用
  • 需要 深度主题定制 或构建设计系统的项目
  • 使用 Tailwind CSS 且需要功能完备组件库的团队(通过 Volt)
  • 无障碍合规 有要求的项目

注意:2026 年的授权模式变更需要关注。对于新项目,建议评估 v4.x(MIT)是否满足需求,或考虑 v5 商业许可的成本。如果预算有限且需要完全开源方案,Element Plus 和 Vuetify 仍是可靠替代。