快速开始

本节将介绍如何在项目中使用 Element Plus。

用法

完整引入

如果你对打包后的文件大小不是很在乎,那么使用完整导入会更方便。

  1. // main.ts
  2. import { createApp } from 'vue'
  3. import ElementPlus from 'element-plus'
  4. import 'element-plus/dist/index.css'
  5. import App from './App.vue'
  6. const app = createApp(App)
  7. app.use(ElementPlus)
  8. app.mount('#app')

Volar 支持

如果您使用 Volar,请在 tsconfig.json 中通过 compilerOptions.type 指定全局组件类型。

  1. // tsconfig.json
  2. {
  3. "compilerOptions": {
  4. // ...
  5. "types": ["element-plus/global"]
  6. }
  7. }

按需导入

您需要使用额外的插件来导入要使用的组件。

自动导入 推荐

首先你需要安装unplugin-vue-componentsunplugin-auto-import这两款插件

  1. npm install -D unplugin-vue-components unplugin-auto-import

然后把下列代码插入到你的 ViteWebpack 的配置文件中

Vite
  1. // vite.config.ts
  2. import { defineConfig } from 'vite'
  3. import AutoImport from 'unplugin-auto-import/vite'
  4. import Components from 'unplugin-vue-components/vite'
  5. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  6. export default defineConfig({
  7. // ...
  8. plugins: [
  9. // ...
  10. AutoImport({
  11. resolvers: [ElementPlusResolver()],
  12. }),
  13. Components({
  14. resolvers: [ElementPlusResolver()],
  15. }),
  16. ],
  17. })
Webpack
  1. // webpack.config.js
  2. const AutoImport = require('unplugin-auto-import/webpack')
  3. const Components = require('unplugin-vue-components/webpack')
  4. const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')
  5. module.exports = {
  6. // ...
  7. plugins: [
  8. AutoImport({
  9. resolvers: [ElementPlusResolver()],
  10. }),
  11. Components({
  12. resolvers: [ElementPlusResolver()],
  13. }),
  14. ],
  15. }

想了解更多打包 ( Rollup 快速开始 - 图1 , Vue CLI 快速开始 - 图2 ) 和配置工具,请参考 unplugin-vue-components 快速开始 - 图3 unplugin-auto-import 快速开始 - 图4

手动导入

Element Plus 提供了基于 ES Module 开箱即用的 Tree Shaking 快速开始 - 图5 功能。

但是你需要安装 unplugin-element-plus 快速开始 - 图6 来导入样式。 请参考 文档 快速开始 - 图7 了解如何配置它。

App.vue

  1. <template>
  2. <el-button>I am ElButton</el-button>
  3. </template>
  4. <script>
  5. import { ElButton } from 'element-plus'
  6. export default {
  7. components: { ElButton },
  8. }
  9. </script>
  1. // vite.config.ts
  2. import { defineConfig } from 'vite'
  3. import ElementPlus from 'unplugin-element-plus/vite'
  4. export default defineConfig({
  5. // ...
  6. plugins: [ElementPlus()],
  7. })

WARNING

如果您使用 unplugin-element-plus 并且只使用组件 API,您需要手动导入样式。

示例︰

  1. import 'element-plus/es/components/message/style/css'
  2. import { ElMessage } from 'element-plus'

快捷搭建项目模板

我们提供了 Vite 模板 快速开始 - 图8 。 对于 Laravel 用户,我们也准备了相应的 模板 快速开始 - 图9 ,同样可以直接下载使用。

全局配置

在引入 Element Plus 时,可以传入一个包含 sizezIndex 属性的全局配置对象。 size 用于设置表单组件的默认尺寸,zIndex 用于设置弹出组件的层级,zIndex 的默认值为 2000。

完整引入:

  1. import { createApp } from 'vue'
  2. import ElementPlus from 'element-plus'
  3. import App from './App.vue'
  4. const app = createApp(App)
  5. app.use(ElementPlus, { size: 'small', zIndex: 3000 })

按需引入:

  1. <template>
  2. <el-config-provider :size="size" :z-index="zIndex">
  3. <app />
  4. </el-config-provider>
  5. </template>
  6. <script>
  7. import { defineComponent } from 'vue'
  8. import { ElConfigProvider } from 'element-plus'
  9. export default defineComponent({
  10. components: {
  11. ElConfigProvider,
  12. },
  13. setup() {
  14. return {
  15. zIndex: 3000,
  16. size: 'small',
  17. }
  18. },
  19. })
  20. </script>

使用 Nuxt.js

我们也可以使用 Nuxt.js 快速开始 - 图10

开始使用

您可以从现在起启动您的项目。 对于每个组件的用法,请参考单个组件对应的文档。