# PrimeVue - Vue UI 组件库 > PrimeVue 是一个功能强大且易于使用的 Vue 3 UI 组件库,提供丰富的组件和主题。 ## 官方文档 - [官方网站](https://primevue.org/) - [GitHub](https://github.com/primefaces/primevue) - [入门指南](https://primevue.org/gettingstarted/) - [组件文档](https://primevue.org/components/) ## 安装 ```bash npm install primevue @primevue/themes # 或 yarn add primevue @primevue/themes # 或 pnpm add primevue @primevue/themes ``` ## 快速开始 ```javascript // main.js import { createApp } from 'vue' import PrimeVue from 'primevue/config' import Aura from '@primevue/themes/aura' import App from './App.vue' const app = createApp(App) app.use(PrimeVue, { theme: { preset: Aura } }) app.mount('#app') ``` ## 主要组件 ### Form Components - [InputText](https://primevue.org/inputtext/) - [InputNumber](https://primevue.org/inputnumber/) - [Textarea](https://primevue.org/textarea/) - [Checkbox](https://primevue.org/checkbox/) - [RadioButton](https://primevue.org/radiobutton/) - [Dropdown](https://primevue.org/dropdown/) - [MultiSelect](https://primevue.org/multiselect/) - [Calendar](https://primevue.org/calendar/) - [DatePicker](https://primevue.org/calendar/) - [ToggleButton](https://primevue.org/togglebutton/) - [SelectButton](https://primevue.org/selectbutton/) - [InputSwitch](https://primevue.org/inputswitch/) - [Slider](https://primevue.org/slider/) - [Knob](https://primevue.org/knob/) ### Data Components - [DataTable](https://primevue.org/datatable/) - [DataView](https://primevue.org/dataview/) - [Tree](https://primevue.org/tree/) - [TreeTable](https://primevue.org/treetable/) - [OrderList](https://primevue.org/orderlist/) - [PickList](https://primevue.org/picklist/) - [Timeline](https://primevue.org/timeline/) - [VirtualScroller](https://primevue.org/virtualscroller/) ### Overlay Components - [Dialog](https://primevue.org/dialog/) - [ConfirmDialog](https://primevue.org/confirmdialog/) - [DynamicDialog](https://primevue.org/dynamicdialog/) - [OverlayPanel](https://primevue.org/overlaypanel/) - [Sidebar](https://primevue.org/sidebar/) - [Tooltip](https://primevue.org/tooltip/) - [Menu](https://primevue.org/menu/) - [ContextMenu](https://primevue.org/contextmenu/) - [Megamenu](https://primevue.org/megamenu/) - [Menubar](https://primevue.org/menubar/) - [PanelMenu](https://primevue.org/panelmenu/) - [TieredMenu](https://primevue.org/tieredmenu/) ### Navigation Components - [BreadCrumb](https://primevue.org/breadcrumb/) - [TabMenu](https://primevue.org/tabmenu/) - [TabView](https://primevue.org/tabview/) - [TieredMenu](https://primevue.org/tieredmenu/) - [Dock](https://primevue.org/dock/) ### Messages Components - [Message](https://primevue.org/message/) - [Toast](https://primevue.org/toast/) - [Inplace](https://primevue.org/inplace/) - [ScrollTop](https://primevue.org/scrolltop/) - [ProgressBar](https://primevue.org/progressbar/) - [Messages](https://primevue.org/messages/) ### Media Components - [Image](https://primevue.org/image/) - [Galleria](https://primevue.org/galleria/) - [Carousel](https://primevue.org/carousel/) - [ImageCompare](https://primevue.org/imagecompare/) ### Panels Components - [Accordion](https://primevue.org/accordion/) - [Card](https://primevue.org/card/) - [Fieldset](https://primevue.org/fieldset/) - [Panel](https://primevue.org/panel/) - [Divider](https://primevue.org/divider/) - [ScrollPanel](https://primevue.org/scrollpanel/) ### Misc Components - [Badge](https://primevue.org/badge/) - [BlockUI](https://primevue.org/blockui/) - [Chip](https://primevue.org/chip/) - [Inplace](https://primevue.org/inplace/) - [Skeleton](https://primevue.org/skeleton/) - [Tag](https://primevue.org/tag/) - [Avatar](https://primevue.org/avatar/) - [AvatarGroup](https://primevue.org/avatargroup/) - [BlockUI](https://primevue.org/blockui/) - [ProgressBar](https://primevue.org/progressbar/) ## 主题系统 PrimeVue 提供了强大的主题系统,支持多种预设主题和自定义主题: ### 预设主题 ```javascript import Aura from '@primevue/themes/aura' import Lara from '@primevue/themes/lara' import Nora from '@primevue/themes/nora' import Amethyst from '@primevue/themes/amethyst' app.use(PrimeVue, { theme: { preset: Aura, options: { prefix: 'p', darkModeSelector: '.dark-mode', cssLayer: false } } }) ``` ### 自定义主题 ```javascript app.use(PrimeVue, { theme: { preset: Aura, semantic: { primary: { 50: '{blue.50}', 100: '{blue.100}', // ... }, colorScheme: { light: { ... }, dark: { ... } } } } }) ``` ## PrimeFlex PrimeFlex 是响应式布局系统,用于快速创建布局: ```bash npm install primeflex ``` ## PrimeIcons 图标库: ```bash npm install primeicons ``` ```javascript import 'primeicons/primeicons.css' // 使用图标 ``` ## Form Validation 与主流表单验证库集成: - VeeValidate - Vuelidate - FormKit ## 无障碍 PrimeVue 完全支持 WCAG 2.0 标准,提供: - 键盘导航 - ARIA 属性 - 屏幕阅读器支持 ## 国际化 (i18n) ```javascript app.use(PrimeVue, { locale: { accept: 'Yes', reject: 'No', // ... 更多翻译 } }) ``` ## 相关工具 - [MCP Server](https://github.com/primefaces/mcp) - AI 集成 - [PrimeVue Designer](https://primevue.org/designer/) - 可视化设计工具 - [PrimeBlocks](https://primeblocks.org/) - 预构建的 UI 模板 ## 示例项目 ```bash # 克隆示例项目 git clone https://github.com/primefaces/primevue-quickstart-vite.git cd primevue-quickstart-vite npm install npm run dev ```