关于Vue3使用element-plus表单组件无法修改的问题

  简单的说一下就是说我reactive了一个变量user,然后用axios接受后端数据并且赋值,然后弹出表单,发现表单能动态显示数据但是不能修改,困扰了我好久好久,然后发现用 ref 就好了,真别用byd reactive了好吧,写前端发现很多问题只要用了reactive就会出问题然后改成ref就好了

  可能是我的理解不太行吧。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue3 中使用 Element Plus 进行表单验证,需要先安装 Element Plus 和 VeeValidate(Element Plus 依赖于 VeeValidate)。安装命令如下: ``` npm install element-plus vee-validate@next ``` 安装完成后,可以在 main.js 中引入并注册 Element Plus 和 VeeValidate: ```javascript import { createApp } from 'vue' import ElementPlus from 'element-plus' import 'element-plus/lib/theme-chalk/index.css' import VeeValidatePlugin from './plugins/vee-validate' import App from './App.vue' const app = createApp(App) app.use(ElementPlus) app.use(VeeValidatePlugin) app.mount('#app') ``` VeeValidate 需要在 plugin 中进行注册。可以先创建一个 plugins 文件夹,然后在其中创建一个 vee-validate.js 文件: ```javascript import { defineRule, configure } from 'vee-validate' import { required, email } from '@vee-validate/rules' export default { install: (app) => { // 配置 configure({ generateMessage: ({ field, rule }) => { const messages = { required: `${field}不能为空`, email: `${field}格式不正确` } return messages[rule] } }) // 定义规则 defineRule('required', required) defineRule('email', email) } } ``` 这里定义了两个规则:required 和 email。然后在组件使用: ```html <template> <el-form :model="form" :rules="rules" ref="form" label-width="100px"> <el-form-item label="邮箱" prop="email"> <el-input v-model="form.email"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm">提交</el-button> </el-form-item> </el-form> </template> <script> import { reactive } from 'vue' import { useVeeValidate } from '@vee-validate/vue3' export default { setup() { const { form, handleSubmit, validate } = useVeeValidate({ initialValues: { email: '' } }) const rules = { email: 'required|email' } const submitForm = () => { validate().then((result) => { if (result.valid) { console.log('提交成功') } }) } return { form, rules, submitForm } } } </script> ``` 这里使用了 VeeValidate 提供的 useVeeValidate hook,它返回了一个 form 对象、handleSubmit 方法和 validate 方法。form 对象包含了表单的所有数据,handleSubmit 方法用于提交表单,validate 方法用于验证表单。rules 对象定义了表单验证规则。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值