服务器之家

服务器之家 > 正文

vue打开子组件弹窗都刷新功能的实现

时间:2021-10-06 15:37     来源/作者:栀妹儿

vue如何一打开子组件弹窗都刷新?

vue打开子组件弹窗都刷新功能的实现

在父页面中给子组件同时绑定:visible.sync和v-if

:visible.sync="paramAddDialog" v-if="paramAddDialog"

整体代码:

<el-dialog width="1200px" align="center" :visible.sync="paramAddDialog" v-if="paramAddDialog">
  <addParamForm ref="addParam" @boundSuccess="boundSuccess" @cancelBound="paramAddDialog=false"/>
</el-dialog>

OK:

vue打开子组件弹窗都刷新功能的实现

PS:下面看下VUE 父组件调用子组件弹窗

想搞一个新增编辑弹窗,和列表页面分开

先来一个父组件调用子组件弹窗的demo

父组件

<template>
  <div>
    <el-button @click="show">按钮</el-button>
    
    <!-- 新增编辑弹框子组件 -->
    <add-or-update :addOrUpdateVisible="addOrUpdateVisible" @changeShow="showAddOrUpdate" ref="addOrUpdateRef"></add-or-update>
  </div>
</template>

<script>
// 引入子组件
import AddOrUpdate from "./Edit"
export default {
  data(){
    return{
      // 控制新增编辑弹窗的显示与隐藏
      addOrUpdateVisible: false
    }
  },
  // 使用子组件
  components:{
    AddOrUpdate
  },
  methods:{
    // 按钮点击事件 显示新增编辑弹窗组件
    show(){
      this.addOrUpdateVisible = true
    },
    // 监听 子组件弹窗关闭后触发,有子组件调用
    showAddOrUpdate(data){
      if(data === "false"){
        this.addOrUpdateVisible = false
      }else{
        this.addOrUpdateVisible = true
      }
    }
  }
}
</script>

子组件:

<template>
  <el-dialog
    :visible.sync="showDialog"
    width="50%"
    @close="handleClose">

    <span>这是一段信息</span>
    <span slot="footer" class="dialog-footer">
      <el-button @click="showDialog = false">取 消</el-button>
      <el-button type="primary" @click="showDialog = false">确 定</el-button>
    </span>

  </el-dialog>
</template>

<script>
export default {  
  // 接受父组件传递的值
  props:{
    addOrUpdateVisible:{
      type: Boolean,     
      default: false
    }
  },
  data(){
    return{
      // 控制弹出框显示隐藏
      showDialog:false
    }
  },
  methods:{
    // 弹出框关闭后触发
    handleClose(){
      // 子组件调用父组件方法,并传递参数
      this.$emit("changeShow","false")
    }
  },
  watch:{
    // 监听 addOrUpdateVisible 改变
    addOrUpdateVisible(oldVal,newVal){
      this.showDialog = this.addOrUpdateVisible
    },
  }
}
</script>

<style lang="less" scoped>

</style>

总结

到此这篇关于vue打开子组件弹窗都刷新功能的实现的文章就介绍到这了,更多相关vue打开子组件弹窗都刷新内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/LicheeM/p/13524952.html

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部