element-plus
A complete component library for Vue 3 with a clean, desktop-oriented design system.
element-plus
VueA complete component library for Vue 3 with a clean, desktop-oriented design system.
Fit
Install size includes transitive dependencies. Bundle size is gzipped browser payload.
Freshness
The Problem
Building data-dense admin and dashboard UIs in Vue 3 from scratch means reinventing forms, tables, dialogs, date pickers, and validation — and keeping them visually consistent and accessible.
What It Does
element-plus offers a comprehensive set of ready-made Vue 3 components — buttons, forms, tables, dialogs, notifications, and more — with theming support and TypeScript types, ideal for back-office and admin applications.
Installation
npm install element-plusUsage Example
import { createApp } from "vue";
import ElementPlus from "element-plus";
import "element-plus/dist/index.css";
import App from "./App.vue";
const app = createApp(App);
app.use(ElementPlus);
app.mount("#app");<template>
<el-button type="primary" @click="visible = true">Open</el-button>
<el-dialog v-model="visible" title="Hello">Element Plus dialog</el-dialog>
</template>Related packages
Tooltip, popover, and dropdown directives for Vue 3 — powered by Floating UI with automatic placement and overflow detection.
naive-uiVueFairly complete Vue 3 UI component library — 90+ components with a TypeScript-first design and no dependency on legacy CSS frameworks.
piniaVueThe intuitive, type-safe, and lightweight state management store for Vue — the official successor to Vuex.
@tanstack/vue-queryVuePowerful async state management for Vue — data fetching, caching, background refetching, and server state synchronization.
unplugin-vue-componentsVueOn-demand auto-import for Vue components — eliminate all manual component imports and registrations in your Vue 3 project.