ElementUI组件Dialog弹窗再次打开表单仍显示上次数据的解决方法

60 篇文章 1 订阅

目录

1.需求分析

2.出现的问题

3.解决方法


1.需求分析

需求是点击新增表单,弹出dialog窗口,确认后页面显示新增的数据

2.出现的问题

第一次新增表单页面

 结果显示:

貌似也没有问题,我们第二次进入新增表单

第一个问题就来了,新增表单默认有上次新增表单的值 ,更严重的问题来了!!!再次修改内容,上次添加的表单数据也会跟着改变

结果增加了两个相同的数据(上个数据被改变)

3.解决方法

在打开dialog的按钮绑定方法,重置表单对象

 亲测有效

补充方法(2023-7-25),现在我一般喜欢用watch监听来进行这类dialog的重置问题

  watch:{
    dialogFormVisible:{
      handler(newVal) {
        if(!newVal) {
          this.addTemplateform =  this.$options.data().addTemplateform
        }
      }
    }
  },

好的,以下是一个简单的 Vue ElementUI 弹窗表单的代码示例: ```html <template> <div> <el-button type="primary" @click="showDialog">弹出表单</el-button> <el-dialog title="表单标题" :visible.sync="dialogVisible"> <el-form ref="form" :model="formData" :rules="formRules" label-width="80px"> <el-form-item label="输入框"> <el-input v-model="formData.input" autocomplete="off"></el-input> </el-form-item> <el-form-item label="下拉框"> <el-select v-model="formData.select" placeholder="请选择"> <el-option label="选项1" value="1"></el-option> <el-option label="选项2" value="2"></el-option> </el-select> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click="dialogVisible = false">取 消</el-button> <el-button type="primary" @click="submitForm">确 定</el-button> </div> </el-dialog> </div> </template> <script> export default { data() { return { dialogVisible: false, formData: { input: '', select: '' }, formRules: { input: [ { required: true, message: '请输入内容', trigger: 'blur' } ], select: [ { required: true, message: '请选择选项', trigger: 'change' } ] } } }, methods: { showDialog() { this.dialogVisible = true; }, submitForm() { this.$refs.form.validate(valid => { if (valid) { // 表单验证通过,提交表单数据 console.log(this.formData); this.dialogVisible = false; } }); } } } </script> ``` 上述代码中,通过 `el-button` 组件和 `@click` 事件触发弹出表单窗口。表单窗口使用 `el-dialog` 组件实现。表单内容使用 `el-form` 组件和 `el-form-item` 组件实现,包含输入框和下拉框两个表单控件。表单控件的值绑定到 `formData` 对象上,并使用 `formRules` 对表单进行验证。表单提交时,使用 `this.$refs.form.validate` 方法进行表单验证,验证通过后提交表单数据。 希望这个简单的代码示例能够帮助到您。如果您有其他问题或需要更具体的帮助,请随时提出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值