el-dialog对话框子组件的关闭方法

 更新时间:2023年12月27日 14:44:52   作者:Dolores_zsq  
这篇文章主要介绍了el-dialog对话框子组件的关闭方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

el-dialog对话框子组件的关闭

在子组件对话框中 用:before-close关闭对话框,取消按键绑定点击事件

<el-dialog :title="title" :visible.sync="dialogVisible" width="30%" :before-close="close">
  <div style="display: flex;justify-content:space-around ;flex: 1;">
    <el-button @click="close">取 消</el-button>
    <el-button type="primary" >确 定</el-button>
  </div>
</el-dialog>

子组件把"close"事件传给父组件 

methods: {
        close() {
            this.$emit("close")
        },
    }

父组件中@close接收子组件传来的“close”事件 

<clue-assign-dialog 
  ref="clueAssign" 
  :dialog-visible="dialogVisible" 
  :title="title" 
  @close="dialogVisible = false">
</clue-assign-dialog>

补充:

vue el-dialog封装成子组件(组件化)

前言

  • 实际开发过程中我们经常听见组件化开发,但在实际开发过程中(没有人审查时)怎么方便来
  • 我们有时是因为时间不够,所以把所有代码写在一个页面。当业务逻辑复杂时可能会有1k多行
  • 虽然不能要求自己写出高效复用性高的组件,把dialog弹出框写成一个子组件抽走还是可以的
  • 当你把表单抽在就会发现代码少了很多

代码实现

1.在文件下创建components文件夹创建DialogForm.vue文件

<template>
  <div>
    <el-dialog
      title="表单"
      :visible="dialogVisible"
      width="45%"
      @close="handleClose"
    >
      <span>子组件弹出框</span>
      <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false">关 闭</el-button>
        <el-button type="primary" @click="dialogVisible = false"
          >发起合同审批</el-button
        >
      </span>
    </el-dialog>
  </div>
</template>
​
<script>
export default {
  name: 'DialogForm',
  props: {
    DialogFlag: {
      default: false
    }
  },
  data () {
    return {
      // 开关
      dialogVisible: false,
    }
  },
  watch: {
    DialogFlag () {
      this.dialogVisible = this.DialogFlag
    }
  },
  created () {
    console.log('审批页面执行')
  },
  methods: {
    // 表单关闭事件-通知父组件关闭(.syanc)
    // 不通知父组件可能会报错,导致只能打开一次
    handleClose () {
      this.$emit('update:DialogFlag', false)
    },
  }
}
</script>

2.在index.vue页面中使用

// 引入组件
import DialogForm from './components/DialogForm.vue'
​
//注册组件
 components: {
    DialogForm
  },
//data
 DialogFlag: false
​
// html
<DialogForm :DialogFlag.sync="DialogFlag" />
​
// 使用组件
  <el-button
              type="primary"
              icon="el-icon-circle-plus-outline"
              @click="examinadd"
              >打开表单</el-button
            >
 examinadd () {
      this.DialogFlag = true
    },

总结:

经过这一趟流程下来相信你也对 vue el-dialog封装成子组件(组件化)有了初步的深刻印象,但在实际开发中我 们遇到的情况肯定是不一样的,所以我们要理解它的原理,万变不离其宗。加油,打工人!

到此这篇关于el-dialog对话框子组件的关闭的文章就介绍到这了,更多相关el-dialog对话框子组件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • javascript中正则表达式语法详解

    javascript中正则表达式语法详解

    这篇文章主要介绍了javascript中正则表达式语法详解,文章通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 使用JavaScript渲染页面的方法详解

    使用JavaScript渲染页面的方法详解

    本文主要介绍了使用JavaScript渲染页面的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,感兴趣的小伙伴下面随着小编来一起来学习吧
    2023-12-12
  • js实现的在线调色板功能完整实例

    js实现的在线调色板功能完整实例

    这篇文章主要介绍了js实现的在线调色板功能,结合完整实例形式分析了调色板的完整实现步骤与相关操作技巧,需要的朋友可以参考下
    2016-12-12
  • html 锁定页面(js遮罩层弹出div效果)

    html 锁定页面(js遮罩层弹出div效果)

    html 锁定页面(js遮罩层弹出div效果),需要的朋友可以参考下。
    2009-10-10
  • 纯JavaScript 实现flappy bird小游戏实例代码

    纯JavaScript 实现flappy bird小游戏实例代码

    这篇文章主要介绍了纯JavaScript 实现flappy bird小游戏实例代码,b本文分七大步骤给大家介绍,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • javascript实现youku的视频代码自适应宽度

    javascript实现youku的视频代码自适应宽度

    这篇文章主要介绍了javascript实现youku的视频代码自适应宽度的方法的示例,十分的简单实用,有需要的小伙伴可以参考下。
    2015-05-05
  • JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能

    JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能

    去除字符串两端的空格,是字符串处理非常常用的方法如何trim() 、Ltrim() 、Rtrim(),可惜的是javascript中无此方法,下面有个不错的自定义教程感兴趣的朋友可以参考下
    2013-11-11
  • 详解Next.js页面渲染的优化方案

    详解Next.js页面渲染的优化方案

    这篇文章主要介绍了详解Next.js页面渲染的优化方案,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • 详解web如何改变主题配色方法示例

    详解web如何改变主题配色方法示例

    这篇文章主要为大家介绍了web如何改变主题配色方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • JavaScript判断是否为数字的4种方法及效率比较

    JavaScript判断是否为数字的4种方法及效率比较

    这篇文章主要介绍了JavaScript判断是否为数字的4种方法及效率比较,本文直接给出判断方法实现代码及运行效率效果图,方便大家选择使用,需要的朋友可以参考下
    2015-04-04

最新评论