1. 程式人生 > 程式設計 >vue開啟子元件彈窗都重新整理功能的實現

vue開啟子元件彈窗都重新整理功能的實現

vue如何一開啟子元件彈窗都重新整理?

vue開啟子元件彈窗都重新整理功能的實現

在父頁面中給子元件同時繫結:visible.sync和v-if

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

整體程式碼:

<el-dialog title="繫結其他更多的賬戶" 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
    title="提示"
    :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開啟子元件彈窗都重新整理內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!