第一章:简介与安装¶
什么是 Element Plus?¶
Element Plus 是基于 Vue 3 的组件库:
- 丰富的组件:60+ 高质量组件
- TypeScript 支持:完整类型定义
- 主题定制:CSS 变量 + SCSS
- 国际化:多语言支持
- 按需引入:Tree-shaking 支持
安装¶
完整安装¶
按需安装(推荐)¶
配置¶
Vite 配置¶
// vite.config.js
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
export default defineConfig({
plugins: [
vue(),
AutoImport({
resolvers: [ElementPlusResolver()]
}),
Components({
resolvers: [ElementPlusResolver()]
})
]
})
完整引入¶
// main.js
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">按钮</el-button>
</template>
<script setup>
// 自动导入 API
const message = ElMessage({
message: '成功',
type: 'success'
})
</script>
手动导入¶
<script setup>
import { ElButton, ElMessage } from 'element-plus'
function showMessage() {
ElMessage.success('操作成功')
}
</script>
<template>
<el-button @click="showMessage">显示消息</el-button>
</template>
全局配置¶
尺寸配置¶
国际化¶
import ElementPlus from 'element-plus'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
app.use(ElementPlus, {
locale: zhCn
})
按需配置¶
<script setup>
import { ElConfigProvider } from 'element-plus'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
</script>
<template>
<el-config-provider :locale="zhCn" size="default">
<App />
</el-config-provider>
</template>
图标使用¶
安装图标¶
全局注册¶
// main.js
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
app.component(key, component)
}
使用图标¶
<template>
<!-- 组件方式 -->
<el-icon><Edit /></el-icon>
<el-icon><Delete /></el-icon>
<!-- 在按钮中使用 -->
<el-button type="primary">
<el-icon><Plus /></el-icon>
添加
</el-button>
</template>
<script setup>
import { Edit, Delete, Plus } from '@element-plus/icons-vue'
</script>
快速示例¶
<template>
<el-container>
<el-header>
<h1>Element Plus 示例</h1>
</el-header>
<el-main>
<!-- 表单 -->
<el-form :model="form" label-width="80px">
<el-form-item label="用户名">
<el-input v-model="form.username" />
</el-form-item>
<el-form-item label="密码">
<el-input v-model="form.password" type="password" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleSubmit">登录</el-button>
</el-form-item>
</el-form>
<!-- 表格 -->
<el-table :data="tableData">
<el-table-column prop="name" label="姓名" />
<el-table-column prop="age" label="年龄" />
<el-table-column prop="address" label="地址" />
</el-table>
</el-main>
</el-container>
</template>
<script setup>
import { ref } from 'vue'
import { ElMessage } from 'element-plus'
const form = ref({
username: '',
password: ''
})
const tableData = ref([
{ name: '张三', age: 25, address: '北京' },
{ name: '李四', age: 30, address: '上海' }
])
function handleSubmit() {
ElMessage.success('登录成功')
}
</script>
小结¶
本章学习了:
- ✅ Element Plus 简介
- ✅ 安装和配置
- ✅ 按需引入
- ✅ 全局配置
- ✅ 图标使用
下一章¶
第二章:基础组件 - 学习常用基础组件。