ElementUI (dialog弹框)封装在组件中 在父组件调用

再记一遍dialog在父组件中的调用问题!!
具体实现:v-for循环生成的一个card信息,点击详情查看该card具体信息,详情页在dialog里显示。
在这里插入图片描述
在这里插入图片描述
下面记录一下代码(都是前端写死的数据):
index.vue //展示页面

<template>
  <basic-container>
    <el-row v-for="(item, index) in dataList" :key="item.id" >
      <div :class="index != 0 ? 'row' :'' ">
        <el-card >
          <div slot="header" class="clearfix">
            <span>xxxxxxxxxxxxxxxxxxxxxx</span>
            <el-button style="float: right; padding: 3px 0" type="text" @click="edit(item.id)">详情</el-button>
          </div>
          <div class="text item">
           xxxxxxxxxxxxxxxxxxxxxx
          </div>
          <div class="text item">
            xxxxxxxxxxxxxxxxxxxxxx
          </div>
          <div class="text item">
             xxxxxxxxxxxxxxxxxxxxxx
          </div>
          <div class="text item">
           xxxxxxxxxxxxxxxxxxxxxx
          </div>
          <div class="text item">
             xxxxxxxxxxxxxxxxxxxxxx
          </div>
          <div class="text item">
             匹配度: 100%
          </div>
        </el-card>
      </div>
    </el-row>
    <!-- 详情 -->
    <table-form v-if="editVisible" ref="edit"></table-form>
  </basic-container>
</template>
<script>
  import TableForm from './editMatch.vue'
  export default {
    data() {
      return {
        editVisible:false,
      }
    },
    components: {
      TableForm
    },
    methods:{
      //详情
      edit(id){
        this.editVisible = true
        this.$nextTick(() => {
          this.$refs.edit.init(id)
        })
      }
    }
  }
</script>

<style>
  .el-row {
    margin-bottom: 20px;
    &:last-child {
      margin-bottom: 0;
    }
  }
  .el-col {
    border-radius: 4px;
  }

  .text {
    font-size: 14px;
  }

  .item {
    margin-bottom: 18px;
  }

  .clearfix:before,
  .clearfix:after {
    display: table;
    content: "";
  }
  .clearfix:after {
    clear: both
  }

  .box-card {
    width: 480px;
    background: burlywood;
  }
  .deleteBorder .el-tabs__nav-wrap::after{
    height: 0;
  }

  .deleteBorder .el-tabs__active-bar{
    background: transparent;
  }
  .row {
    border-top:1px #000000 solid;
  }
</style>

editMatch.vue//弹窗页面

<template>
  <el-dialog width="800px" title="企业匹配详情" :visible.sync="editVisible">
    <!--匹配展示列表  -->
    <el-row>
      <el-card>
        <div slot="header" class="clearfix">
          <span>匹配度:20%</span>
          <span>xxxx</span>
        </div>
        <div class="text item">
         xxxx
        </div>
      </el-card>
    </el-row>
  </el-dialog>
</template>

<script>
  export default {
     data() {
       return {
        editVisible:false,
       }
     },
     methods:{
       init(id){
         this.editVisible = true
         // console.log(id)
       },

     }
   }
</script>

<style>
  .text {
    font-size: 14px;
  }
  .item {
    margin-bottom: 18px;
  }
  .clearfix:before,
  .clearfix:after {
    display: table;
    content: "";
  }
  .clearfix:after {
    clear: both
  }
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值