ElementUI组件Dialog弹窗再次打开表单仍显示上次数据的问题

 更新时间:2023年04月04日 14:23:01   作者:IT__learning  
这篇文章主要介绍了ElementUI组件Dialog弹窗再次打开表单仍显示上次数据的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

ElementUI组件Dialog弹窗再次打开表单仍显示上次数据

问题描述:在使用vue+element开发Dialog嵌套表单的时候,表单交数据关闭之后再次打开表单没有重置,仍显示上次输入的数据。

点击新增,显示弹窗

添加后,数据显示在页面中。当再次点击新增时出现以下界面:仍保留上次的数据,而且若修改表单中数据页面中的数据也会被修改

根本原因是 form表单对象保留了上次的数据,应该将其置空

重置方法

嵌套表单的弹窗的代码:

<el-button type="text" @click="dialogFormVisible = true" 
	@open="resetForm">弹窗</el-button>    //@open事件绑定打开表格时重置

<el-dialog title="收货地址" :visible.sync="dialogFormVisible">
    <el-form :model="form" ref="form" :rules="rules">
       <el-form-item prop="id" label="编号" :label-width="formLabelWidth">
            <el-input v-model="form.id" autocomplete="off"></el-input>
       </el-form-item>
       <el-form-item prop="name" label="名称" :label-width="formLabelWidth">
            <el-input v-model="form.name" autocomplete="off"></el-input>
       </el-form-item>
       <el-form-item prop="type" label="型号" :label-width="formLabelWidth">
            <el-input v-model="form.type" autocomplete="off"></el-input>
       </el-form-item>
       <el-form-item prop="company" label="厂家" :label-width="formLabelWidth">
            <el-input v-model="form.company" autocomplete="off"></el-input>
       </el-form-item>
    </el-form>
  <div slot="footer" class="dialog-footer">
    <el-button @click="dialogFormVisible = false">取 消</el-button>
    <el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
  </div>
</el-dialog>
<script>
  export default {
    form:{
            id:'',
            name:'',
            type:'',
            company:''
                }
    methods:{
    	resetForm(){
              this.form={};   //重置表格对象
                }
    	}
    }
  };
</script>

将Dialog弹窗的打开事件绑定方法,然后在方法中使用this.form={}进行重置。

this.form={}这个的意思是把表单初始化为一个空对象,后期可以往这个对象里赋值。

关闭element UI的弹窗,再次打开显示表单验证提示

打开弹窗,没有填写任何信息,点击保存按钮,触发了表单的验证提示,没有进行任何操作,点击【关闭按钮】或者【取消按钮】关闭弹窗,再次打开弹窗,仍然显示表单的验证提示信息,

解决方法

给el-dialog添加@close事件,给取消按钮添加点击事件,在事件中对表单进行重置操作,即可解决

重置表单

this.$refs.dialogForm.resetFields();

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue前端编译报错的图文解决方法

    vue前端编译报错的图文解决方法

    Vue框架可以很方便的引入各种插件,但是也因此会经常遇到种编译报错,这篇文章主要给大家介绍了关于vue前端编译报错解决的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • 使用vue-router在Vue页面之间传递数据的方法

    使用vue-router在Vue页面之间传递数据的方法

    这篇文章主要介绍了使用vue-router在Vue页面之间传递数据的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • vue element-ui读取pdf文件的方法

    vue element-ui读取pdf文件的方法

    这篇文章主要介绍了vue element-ui读取pdf文件的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • Vue+Echarts绘制饼图的示例详解

    Vue+Echarts绘制饼图的示例详解

    这篇文章主要为大家详细介绍了如何利用Vue和Echarts实现绘制饼图,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-03-03
  • Vue按需加载的具体实现

    Vue按需加载的具体实现

    本篇文章主要介绍了Vue按需加载的具体实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Vue实现todolist删除功能

    Vue实现todolist删除功能

    这篇文章主要介绍了Vue实现todolist删除功能,,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • vue中4个自定义指令讲解及实例用法

    vue中4个自定义指令讲解及实例用法

    在本篇文章里小编给大家整理了一篇关于vue中4个自定义指令讲解及实例用法,有兴趣的朋友们可以跟着学习下。
    2021-12-12
  • vue3基于script setup语法$refs的使用

    vue3基于script setup语法$refs的使用

    这篇文章主要介绍了vue3基于script setup语法$refs的使用,<BR> 在用vue3开发项目的时候,需要调用子组件的方法,于是想着用$refs来实现,但是我是使用script setup语法糖,原先vue2的语法已经不适用了。下面我们一起进入文章看详细内容吧</P><P>
    2021-12-12
  • 基于Vue+Openlayer实现动态加载geojson的方法

    基于Vue+Openlayer实现动态加载geojson的方法

    本文通过实例代码给大家介绍基于Vue+Openlayer实现动态加载geojson的方法,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-09-09
  • vue3中的抽离封装方法实现

    vue3中的抽离封装方法实现

    vue3中的任何一个组合式api都可以单独抽离出去在另一个文件,最后只需要回归到setup()中即可,这篇文章主要介绍了vue3的抽离封装方法,需要的朋友可以参考下
    2022-08-08

最新评论