elementui解决el-dialog不清空内容的问题,el-dialog关闭时销毁子组件

简介: elementui解决el-dialog不清空内容的问题,el-dialog关闭时销毁子组件


前言

现在是2022年5月5日22:48:21

今天在使用element-ui中的el-dialog的时候遇到了个这样的问题:页面上点击添加的按钮,弹出el-dialog对话框,该对话框中有个添加表单的子组件,然后填写值进行保存,点击保存按钮之后,el-dialog框关闭。继续点击添加的按钮,el-dialog框继续弹出,但是上次填写的表单内容没有清空。

图如下:

大致就是图上的意思。

实现思路

  1. 一开始我和同事想的是表单没有清空,于是我们就开始操作表单。比如点击添加按钮的时候,清空表单,发现不行;每天添加完之后,清空表单,发现不行;弹框的时候清空表单,发现还是不行!
  2. 接着想到了关闭框的时候销毁对象,查找官方文档,发现了个属性:destroy-on-close,文档中定义是:关闭时销毁 Dialog 中的元素boolean类型,默认是flase,于是我将值改成了true,发现还是不行。
  3. 从网上查了下,有人说用v-if,我加上了,还是不行~
  4. 后来同事用了个时间戳的方式,终于给解决了。

实现代码

本来我都给前端的朋友打电话了,问这个问题怎么解决,他给了我个方案,大致是el-dialog的显示时机和子组件的展示时机一样,这种方案没有试,不知道可行不可行,我们现在用的是下面这种写法:

在子组件的写如下代码:

<el-dialog
      title="新 增"
      :visible.sync="addDeviceDialogVisible"
      :append-to-body="true"
      top="1vh"
      width="70%"
      @destroy-on-close="true"
    >
      <addDevice
        :key="timer"
        @addDeviceResult="addDeviceResult"
        @quxiaoClickResult="quxiaoClickResult"
      ></addDevice>
    </el-dialog>

注意:重点就是:key="timer",这个关键代码。

然后在显示此el-dialog对话框的时候,给timer日期赋值,代码如下:

addDeviceBtn(){
      this.addDeviceDialogVisible = true;
      this.timer = new Date().getTime();
    },

bug完美解决,记录记录不迷路~

相关文章
element el-cascader动态编辑赋值后,不回显的解决方法(整理)
element el-cascader动态编辑赋值后,不回显的解决方法(整理)
|
JavaScript
Element-ui中 使用图片查看器(el-image-viewer) 预览图片
Element-ui中 使用图片查看器(el-image-viewer) 预览图片
4419 1
Element-ui中 使用图片查看器(el-image-viewer) 预览图片
|
JavaScript
【ElementUI】Vue+ElementUI多文件上传,一次请求上传多个文件!
教大家一次请求,上传多个文件。 ElementUI如果是默认方案,上传多张图片并不是真正的一次上传多张,而是发送多次请求,一次请求携带一张图片。
1766 0
|
8月前
|
前端开发 开发者 容器
如何解决 flex 布局下子元素 width 宽度设置失效的问题
本文通过实际案例,探讨前端开发中flex布局导致子元素宽度设置失效的问题,分析原因并提供两种解决方案:去除flex布局(不推荐)和设置min-width(推荐),帮助开发者深入理解flex特性,提升布局控制能力。
447 0
如何解决 flex 布局下子元素 width 宽度设置失效的问题
|
资源调度 JavaScript API
Vue-treeselect:为Vue应用程序提供强大选择器的指南
Vue-treeselect:为Vue应用程序提供强大选择器的指南
3018 0
|
JavaScript 前端开发 安全
在 Vue 项目中配置 CORS 的方法
【10月更文挑战第20天】在 Vue 项目中配置 CORS 需要综合考虑后端服务器配置、代理服务器使用以及前端的有限配置等多种因素。通过合理的配置和处理,可以有效地解决跨域问题,为项目的顺利进行提供保障。
|
JavaScript 容器
vue-element-admin 综合开发二:搭建首页架子、侧边栏、修改默认样式、menu和路由跳转页面初体验
这篇文章详细介绍了如何使用Vue和Element UI搭建一个后台管理系统,包括首页布局、侧边栏、样式调整、菜单和路由配置,以及解决开发中遇到的问题。
1917 1
vue-element-admin 综合开发二:搭建首页架子、侧边栏、修改默认样式、menu和路由跳转页面初体验
Echarts富文本rich的使用实例代码
Echarts富文本rich的使用实例代码
528 0
|
缓存 JavaScript 前端开发
vue2进阶篇:vue-router之嵌套(多级)路由
vue2进阶篇:vue-router之嵌套(多级)路由
709 3