Vue使用el-dialog关闭后重置表单方式

 更新时间:2024年02月29日 10:20:13   作者:啧啧静  
这篇文章主要介绍了Vue使用el-dialog关闭后重置表单方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

使用el-dialog关闭后重置表单

el-dialog绑定close事件

这个有个注意得地方,可能有很多人会使用closed事件,close:Dialog 关闭的回调;closed:Dialog 关闭动画结束时的回调。

本人就是这么入坑得,使用了closed,然后会出现连续点击保存按钮会出现添加多条数据问题,原因是因为表单还没销毁前我就把按钮禁用状态放开了,导致了连续点击按钮出现多增数据问题,大家一定要注意额

重置表单数据

resetForms(formName) {
   this.$refs[formName].resetFields();
}

表单验证清除

这个主要是加在el-dialog被打开之前,如果你点击一次保存按钮,是不会出现验证报红得问题得,但是你如果连续点击保存,就会出现验证问题了,这时候就需要添加清除验证拉。

this.$nextTick(() => {
   this.$refs.formData.clearValidate();
});

Vue中el-dialog的用法

写入HTML

    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
        <el-form-item :label="title + '原因'" prop="reason">
          <el-input
            v-model="form.reason"
            :placeholder="'请输入' + title + '原因'"
          />
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">确 定</el-button>
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>

写入变量

      // 弹出层标题
      title: "",
      // 是否显示弹出层
      open: false,
      // 表单参数
      form: {},
      // 表单校验
      rules: {
        reason: [
          { required: true, message: "参数名称不能为空", trigger: "blur" }
        ],
      },

写入方法

    // 表单重置
    reset() {
      this.resetForm("form");
    },
     /** 提交按钮 */
    submitForm: function () {
      this.$refs["form"].validate((valid) => {
        if (valid) {
          //提交保存
        }
      });
    },
    // 取消按钮
    cancel() {
      this.open = false;
      this.reset();
    },

总结

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

相关文章

  • 详解vue挂载到dom上会发生什么

    详解vue挂载到dom上会发生什么

    这篇文章主要介绍了详解vue挂载到dom上会发生什么,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Element-UI 10个技巧小结

    Element-UI 10个技巧小结

    本文主要介绍了Element-UI 10个技巧小结,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Vue中大文件上传企业级实现方案的完整代码

    Vue中大文件上传企业级实现方案的完整代码

    在Vue项目中,大文件直接上传会面临请求超时、浏览器卡死等问题,本文基于Vue3+Node.js实现企业级完整版,代码精简可直接运行,无复杂第三方依赖,有需要的可以了解下
    2026-04-04
  • 解决vue-router 嵌套路由没反应的问题

    解决vue-router 嵌套路由没反应的问题

    这篇文章主要介绍了解决vue-router 嵌套路由没反应的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • 简单的vue-resourse获取json并应用到模板示例

    简单的vue-resourse获取json并应用到模板示例

    本篇文章主要介绍了简单的vue-resourse获取json并应用到模板示例,非常具有实用价值,需要的朋友可以参考下。
    2017-02-02
  • 对vue.js中this.$emit的深入理解

    对vue.js中this.$emit的深入理解

    下面小编就为大家分享一篇对vue.js中this.$emit的深入理解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • Vue使用moment处理不同时区的时间的操作方法

    Vue使用moment处理不同时区的时间的操作方法

    这篇文章主要介绍了如何在Vue项目中使用moment和moment-timezone插件处理时区,包括安装依赖、基础使用方法(如时区转换)、全局挂载以及注意事项(如时区标识规范、UTC时间处理和Vue3适配),需要的朋友可以参考下
    2026-03-03
  • vue element-plus图片预览实现方法

    vue element-plus图片预览实现方法

    这篇文章主要给大家介绍了关于vue element-plus图片预览实现的相关资料,最近的项目中有图片预览的场景,也是踩了一些坑,在这里总结一下,需要的朋友可以参考下
    2023-07-07
  • vue3使用axios并封装axios请求的详细步骤

    vue3使用axios并封装axios请求的详细步骤

    本篇文章分步骤给大家介绍了vue3使用axios并封装axios请求的详细步骤,结合实例代码给大家讲解的非常详细,需要的朋友参考下吧
    2023-06-06
  • element ui table 增加筛选的方法示例

    element ui table 增加筛选的方法示例

    这篇文章主要介绍了element ui table 增加筛选的方法示例,详细的介绍了如何添加规则内容,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11

最新评论