快速上手
本节将介绍如何在项目中使用 Element Plus。
用法
完整引入
如果你对打包后的文件大小不是很在乎,那么使用完整导入会更方便。
ts
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')
Volar 支持
如果您使用 Volar,请在 tsconfig.json
中通过 compilerOptions.types
指定全局组件类型。
json
{
"compilerOptions": {
// ...
"types": ["element-plus/global"]
}
}
按需导入
您需要使用额外的插件来导入您所使用的组件。
自动导入 推荐
首先你需要安装 unplugin-vue-components
和 unplugin-auto-import
这两款插件。
shell
$ npm install -D unplugin-vue-components unplugin-auto-import
shell
$ yarn add -D unplugin-vue-components unplugin-auto-import
shell
$ pnpm install -D unplugin-vue-components unplugin-auto-import
然后将下面的代码添加你的 Vite
或 Webpack
配置文件中。
Vite
ts
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()],
}),
],
})
Webpack
js
const AutoImport = require('unplugin-auto-import/webpack')
const Components = require('unplugin-vue-components/webpack')
const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')
module.exports = {
// ...
plugins: [
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
}
对于其他打包工具 (Rollup, Vue CLI) 和配置请参考 unplugin-vue-components 和 unplugin-auto-import。
Nuxt
对于 Nuxt 用户,你只需要安装 @element-plus/nuxt
。
shell
$ npm install -D @element-plus/nuxt
shell
$ yarn add -D @element-plus/nuxt
shell
$ pnpm install -D @element-plus/nuxt
然后将下面的代码添加到你的配置文件中。
ts
export default defineNuxtConfig({
modules: ['@element-plus/nuxt'],
})
请参考其文档来了解如何配置它。
手动导入
Element Plus 天然支持基于 ES Module 的Tree Shaking功能。
但是你需要安装 unplugin-element-plus 来进行样式导入。并参考其文档来了解如何配置它。
vue
<template>
<el-button>I am ElButton</el-button>
</template>
<script>
import { ElButton } from 'element-plus'
export default {
components: { ElButton },
}
</script>
ts
import { defineConfig } from 'vite'
import ElementPlus from 'unplugin-element-plus/vite'
export default defineConfig({
// ...
plugins: [ElementPlus()],
})
项目模板
我们提供了一个 Vite 模板。
对于 Nuxt 用户我们有一个 Nuxt 模板。
对于 Laravel 用户我们有一个 Laravel 模板。
全局配置
在注册 Element Plus 时,您可以传入一个带有 size
和 zIndex
属性的全局配置对象,以设置表单组件的默认 size
,以及弹窗组件的 zIndex
,zIndex
的默认值为 2000
。
完整引入
ts
import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import App from './App.vue'
const app = createApp(App)
app.use(ElementPlus, { size: 'small', zIndex: 3000 })
按需引入
vue
<template>
<el-config-provider :size="size" :z-index="zIndex">
<app />
</el-config-provider>
</template>
<script>
import { defineComponent } from 'vue'
import { ElConfigProvider } from 'element-plus'
export default defineComponent({
components: {
ElConfigProvider,
},
setup() {
return {
zIndex: 3000,
size: 'small',
}
},
})
</script>
在 Nuxt.js 中使用
我们同样可以使用 Nuxt.js
开始使用
从现在开始,尽情地发挥你的创造力吧。各个组件的用法请参照单个组件的文档。