vue3和element plus踩坑

在这里插入图片描述
1.有说vue版本有两个,但检查之后发现只有一个,且为vue3的版本
2.也有说是因为命名的问题,组件名和页面名一致

最后发现是因为

在main.js里面引入element plus 使用这种use方式会报错,虽然也不知道为什么

import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'
import router from './router'
import store from './store'

createApp(App).use(store).use(router).use(ElementPlus).mount('#app')

改为以下这种写法之后就没有报错了


createApp(App).use(store).use(router).mount('#app')
const app = createApp(App)
app.use(ElementPlus)

但改为这种写法却引入失败 使用组件并不能生效

过后很久又改回之前的那种写法 不仅没有报错也没有报下面这种警告
在这里插入图片描述
并且一切正常。现在还是不知道是什么原因 如果有大佬知道可以指点一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3和Element Plus可以很方便地实现动态表单。下面是一个简单的示例代码: ``` <template> <form @submit.prevent="submitForm"> <el-form :model="formData" :rules="formRules" ref="form"> <el-form-item v-for="(field, index) in formFields" :key="index" :label="field.label" :prop="field.name"> <template v-if="field.type === 'text'"> <el-input v-model="formData[field.name]" :placeholder="field.placeholder"></el-input> </template> <template v-else-if="field.type === 'select'"> <el-select v-model="formData[field.name]" placeholder="请选择"> <el-option v-for="option in field.options" :key="option.value" :label="option.label" :value="option.value"></el-option> </el-select> </template> <!-- 其他表单项类型 --> </el-form-item> </el-form> <el-button type="primary" native-type="submit">提交</el-button> </form> </template> <script> import { ref } from 'vue' import { ElForm, ElFormItem, ElInput, ElSelect, ElOption, ElButton } from 'element-plus' export default { components: { ElForm, ElFormItem, ElInput, ElSelect, ElOption, ElButton }, setup() { const formData = ref({}) const formFields = [ { type: 'text', name: 'username', label: '用户名', placeholder: '请输入用户名' }, { type: 'select', name: 'gender', label: '性别', options: [ { value: 'male', label: '男' }, { value: 'female', label: '女' } ]}, // 其他表单项数据 ] const formRules = ref({}) formFields.forEach(field => { formData.value[field.name] = '' formRules.value[field.name] = { required: true, message: '请输入' + field.label, trigger: 'blur' } }) const submitForm = () => { // 表单验证 const form = this.$refs.form form.validate(valid => { if (valid) { // 获取表单数据 const data = JSON.stringify(formData.value) // 处理表单数据 // ... } else { return false } }) } return { formData, formFields, formRules, submitForm } } } </script> ``` 在上面的代码中,我们使用了Element Plus的表单组件来生成表单项。在Vue3中,我们使用了`ref`来获取表单实例,以便进行表单验证。在`setup`函数中初始化了表单数据和表单验证规则,并定义了表单提交的方法。在表单提交时,我们先进行表单验证,通过后再获取表单数据并进行处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值