Communitygithub.com

teachingai/element-plus-vue3

提供 Element Plus Vue 3 組件庫的全面指南,包含安裝、元件、主題、國際化及 API 參考。當使用者詢問 Vue 3 的 Element Plus、需要使用 Element Plus 建構 Vue 3 應用程式或自訂組件樣式時使用。

element-plus-vue3 是什麼?

此技能專為使用 Element Plus 與 Vue 3 的開發者設計,提供全方位的 Component Library 指導。其核心價值在於協助使用者從安裝、配置到進階自訂,涵蓋元件使用、主題切換、國際化支援及完整的 API 參考。支援的場景包括快速建立 Vue 3 應用、根據專案需求自訂樣式、實現多語言介面,以及排查元件相關的開發問題。該技能基於官方文件與常見實務整合,確保提供的指引精確且實用,適合初學者和經驗豐富的開發者。透過結構化的文件(SKILL.md),技能會逐步引導使用者完成常見任務,並提供最佳實務建議,從而提升開發效率。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/teachingai/full-stack-skills/tree/main/skills/element-plus-vue3

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

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

  1. 安裝依賴
npm install -D unplugin-vue-components unplugin-auto-import
  1. 設定 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()],
    }),
  ],
})
  1. 現在可以直接在元件中使用 Element Plus 元件,無需手動導入:
<template>
  <el-button>按鈕</el-button>
</template>

常用元件

按鈕 ElButton

屬性類型預設值說明
typestringdefaulttype 可設定為 primary / success / warning / danger / info
plainbooleanfalse樸素按鈕
roundbooleanfalse圓角按鈕
iconstring-圖示類別名稱
<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)

  1. 創建自訂變數檔案 styles/element/index.scss:
@forward 'element-plus/theme-chalk/src/common/var.scss' with (
  $colors: (
    'primary': (
      'base': #409eff,
    ),
  ),
);
  1. 在 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 配置的插件已正確設定。
  • 國際化無效:檢查地區語言包是否已正確導入並傳入元件選項。

社群資源

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能