如何在vue3项目中方便的引入Element plus并且进行配置注册并且方便使用

41 篇文章 7 订阅
2 篇文章 0 订阅

首先如果我们使用的是volar,在 tsconfig.json 中通过 compilerOptions.type 指定全局组件类型。

// tsconfig.json
{
“compilerOptions”: {
// …
“types”: [“element-plus/global”]
}
}
在这里插入图片描述

第二、需要安装unplugin-vue-components 和 unplugin-auto-import这两款插件

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

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

// vite.config.ts
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default {
  plugins: [
    // ...
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
}

Webpack(我使用的是webpack和vue3 cli创建出来的项目),所以修改webpack配置要新建一个vue.config.js文件,在根目录上,它会在打包的时候被合并在webpack的配置里面

const AutoImport = require('unplugin-auto-import/webpack')
const Components = require('unplugin-vue-components/webpack')
const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')

module.exports = {
  // ...
  configureWebpack: {
    plugins: [
      AutoImport({
        resolvers: [ElementPlusResolver()]
      }),
      Components({
        resolvers: [ElementPlusResolver()]
      })
    ]
  }
}

现在我们已经引入完成Element puls了,他会知道帮我们配置打包引入相关的css文件。但是我们在使用的时候还是要注册组件才能使用啊,但是每次使用的时候都要声明注册一次组件很麻烦,我们有没有比较简单的方法呢?
有,当然有啦,不然我写这篇文章是干嘛,接下来就让我手把手教你。
首先我们先在根目录创建一个目录global文件
在这里插入图片描述

然后我们再创建一个index.ts文件,作为主接口,index.ts里面编写如下内容

// 从vue 中导入APP类型
import { App } from 'vue'
// 导入我们们的组件注册声明文件
import registerElement from './register-element'
// 导出(暴露)我们的主接口方便main接口调用使用
export function globalRegister(app: App): void {
  // 使用use函数安装我们的registerElement
  app.use(registerElement)
}

register-element.ts里面的内容

import { App } from 'vue'
// 导入我们的element-plus的css文件
import 'element-plus/dist/index.css'
// 把我们需要使用的组件进行导入
import {
  ElButton,
  ElCheckbox,
  ElForm,
  ElFormItem,
  ElInput,
  ElLink,
  ElRadio,
  ElTabPane,
  ElTabs
} from 'element-plus' // 需要的就导入
// 把我们要使用的组件名放入一个数组里面
const components = [
  ElButton,
  ElForm,
  ElFormItem,
  ElInput,
  ElRadio,
  ElTabs,
  ElTabPane,
  ElCheckbox,
  ElLink // 需要的就导入
]

export default function (app: App): void {
  // 循环我们的组件名数组进行全局注册
  for (const component of components) {
    app.component(component.name, component)
  }
}

在我们的main函数里面进行导入使用

import { globalRegister } from '../global'
createApp(App).use(globalRegister).mount('#app')

然后我们就可以在vue3项目里直接使用Element plus组件了

最终效果
在这里插入图片描述

在这里插入图片描述

实用babel插件自动引入Element plus的使用组件对应的css样式

2.配置babel.config.js

  • 局部引用样式(通过babel的插件);

1.安装babel的插件:

npm install babel-plugin-import -D
module.exports = {
  plugins: [
    [
      'import',
      {
        libraryName: 'element-plus',
        customStyleName: (name) => {
          return `element-plus/lib/theme-chalk/${name}.css`
        }
      }
    ]
  ],
  presets: ['@vue/cli-plugin-babel/preset']
}
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue3使用Element Plus进行表单验证,需要先安装Element Plus组件库。然后在需要验证的表单元素上添加相应的验证规则即可。以下是使用Element Plus进行表单验证的步骤: 1. 在Vue3项目安装Element Plus组件库,可以使用npm或yarn进行安装。 2. 在需要使用表单验证的组件引入Element Plus的验证规则: ``` import { defineComponent } from 'vue'; import { ElForm, ElFormItem, ElInput, ElButton } from 'element-plus'; import { required, email } from 'element-plus/es/utils/validate'; export default defineComponent({ components: { ElForm, ElFormItem, ElInput, ElButton }, setup() { const rules = { email: [{ required: true, message: '请输入邮箱地址' }, { validator: email, message: '请输入正确的邮箱地址' }], password: [{ required: true, message: '请输入密码' }, { min: 6, max: 20, message: '密码长度在6到20个字符之间' }], }; return { rules }; }, }); ``` 3. 在需要验证的表单元素上添加相应的验证规则: ``` <template> <el-form> <el-form-item label="邮箱地址" prop="email"> <el-input v-model="email" :rules="rules.email"></el-input> </el-form-item> <el-form-item label="密码" prop="password"> <el-input v-model="password" :rules="rules.password" type="password"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm">提交</el-button> </el-form-item> </el-form> </template> ``` 4. 在表单提交时进行验证: ``` <script> import { defineComponent } from 'vue'; import { ElForm, ElFormItem, ElInput, ElButton } from 'element-plus'; import { required, email } from 'element-plus/es/utils/validate'; export default defineComponent({ components: { ElForm, ElFormItem, ElInput, ElButton }, setup() { const rules = { email: [{ required: true, message: '请输入邮箱地址' }, { validator: email, message: '请输入正确的邮箱地址' }], password: [{ required: true, message: '请输入密码' }, { min: 6, max: 20, message: '密码长度在6到20个字符之间' }], }; const submitForm = () => { const form = ref(null); form.value.validate((valid) => { if (valid) { console.log('表单验证通过'); } else { console.log('表单验证失败'); } }); }; return { rules, submitForm }; }, }); </script> ``` 以上就是使用Element Plus进行表单验证的步骤。需要注意的是,验证规则需要在setup函数定义,并且需要在表单元素上使用:rules绑定。同时,在表单提交时需要调用validate方法进行验证。 --相关问题--: 1. Vue3如何使用Element Plus进行表单提交? 2. Element Plus还有哪些常用的组件?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zayyo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值