父组件和子组件的显隐控制

第一步:封装组件

建一个文件夹用来放置组件内容
在这里插入图片描述

第二步:父组件中引用子组件

这是子组件的name
在这里插入图片描述
三步引入
在这里插入图片描述

第三步: 编写子组件的内容

因为要在多处使用这个页面,所以才封装成为一个组件

第四步:效果

这是父组件
在这里插入图片描述
通过点击某一行进入子组件,效果是覆盖父组件的表格,展现出子组件的内容,通过v-if,以及,子传父的emit方法进行父子之间的传值
首先给父组件定义一个flag
在这里插入图片描述
再给引入子组件的地方else,当点击任何一行的时候,上面的父组件中的表格隐藏,子组件内容展示出来,现在需要返回到父组件展示的表格中,通过子组件中的某一个按钮返回
在这里插入图片描述
例如:
在这里插入图片描述
在这里给子组件中的返回按钮绑定一个事件,并且传递一个false给父组件,因为父组件就是通过定义了一个flag来控制父子组件之间的显隐的
在这里插入图片描述

//返回
        backBtn(){
          this.$emit('func',false)
        },

父组件再通过一个方法进行接收这个值即可
在这里插入图片描述

第五步:删除子组件中多余按钮

如果你写的一个组件中有 好多按钮,但是有一个页面中不需要其中的两个按钮,我们可以通过这种方式控制;
我的组件有5个按钮,但是有一个页面我只需要2个按钮就够了
在这里插入图片描述
在这个页面我只需要两个
在这里插入图片描述
首先给需要控制显隐的按钮绑定v-if

 <el-col style="float:left">
        <el-button size="mini" @click="backBtn">返回</el-button>
        <el-button size="mini" @click="replyBtn" v-if="replyShow">回复</el-button>
        <el-button size="mini" @click="forwardBtn">转发</el-button>
        <el-button size="mini" @click="deleteBtn" v-if="delShow">删除</el-button>
        <el-button size="mini" @click="trashBtn" v-if="trashShow">标为垃圾</el-button>
   </el-col>

再通过props进行父传子,通过父组件传递要不要这个按钮,来控制这个按钮的显隐
在这里插入图片描述
这是父组件中引用的时候绑定false就可以取消这个按钮的显隐

      <email-component :give-form-data="dataForm" @func="goBack" :star-show="false" :del-show="false" :reply-show="false" :trash-show="false" page-number = 3></email-component>

会这个逻辑,父子组件传值就差不多啦…

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小莉爱编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值