element-plus-vue3 是做什麼的?
提供 Element Plus Vue 3 組件庫的全面指南,包含安裝、元件、主題、國際化及 API 參考。當使用者詢問 Vue 3 的 Element Plus、需要使用 Element Plus 建構 Vue 3 應用程式或自訂組件樣式時使用。
安裝
npm install element-plus
# 或
yarn add element-plus
完整引入
// 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')
按需導入(建議)
搭配 Vite
- 安裝依賴
npm install -D unplugin-vue-components unplugin-auto-import
- 設定
vite.config.js
// vite.config.js
import { defineConfig } from 'vite'
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: [
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
})
- 現在可以直接在元件中使用 Element Plus 元件,無需手動導入:
<template>
<el-button>按鈕</el-button>
</template>
常用元件
按鈕 ElButton
| 屬性 | 類型 | 預設值 | 說明 |
|---|---|---|---|
| type | string | default | type 可設定為 primary / success / warning / danger / info |
| plain | boolean | false | 樸素按鈕 |
| round | boolean | false | 圓角按鈕 |
| icon | string | - | 圖示類別名稱 |
<template>
<el-button type="primary">主要按鈕</el-button>
<el-button type="primary" icon="Search" />
</template>
輸入框 ElInput
<template>
<el-input v-model="input" placeholder="請輸入文字" />
</template>
<script setup>
import { ref } from 'vue'
const input = ref('')
</script>
主題自訂
透過 CSS 變數覆蓋
:root {
--el-color-primary: #409eff;
--el-color-primary-dark-2: #337ecc;
--el-color-primary-light-3: #79bbff;
--el-color-primary-light-5: #a0cfff;
--el-color-primary-light-7: #c6e2ff;
--el-color-primary-light-8: #d9ecff;
--el-color-primary-light-9: #ecf5ff;
}
透過 SCSS 變數覆蓋(需要 SCSS)
- 創建自訂變數檔案
styles/element/index.scss:
@forward 'element-plus/theme-chalk/src/common/var.scss' with (
$colors: (
'primary': (
'base': #409eff,
),
),
);
- 在
vite.config.js中配置:
import { defineConfig } from 'vite'
import ElementPlus from 'unplugin-element-plus/vite'
export default defineConfig({
plugins: [
ElementPlus({
useSource: true,
}),
],
css: {
preprocessorOptions: {
scss: {
additionalData: `@use "@/styles/element/index.scss" as *;`,
},
},
},
})
國際化(i18n)
import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import en from 'element-plus/dist/locale/en.mjs'
import App from './App.vue'
const app = createApp(App)
app.use(ElementPlus, {
locale: zhCn, // 設定為中文
})
app.mount('#app')
API 參考
詳細的元件 API 文件請參考 Element Plus 官方文檔。
與 AI 助理使用提示
- 明確指定元件名稱(例如 ElButton、ElInput)。
- 提供錯誤訊息或程式碼片段以協助除錯。
- 善用官方文檔獲取最新資訊。
疑難排解
- 樣式未載入:確保已導入
element-plus/dist/index.css或正確配置了按需導入。 - 元件未註冊:使用按需導入時,確保 Vite 配置的插件已正確設定。
- 國際化無效:檢查地區語言包是否已正確導入並傳入元件選項。