父子组件传值,子组件复用

本文介绍了在Vue中如何实现父子组件间的通信,特别是通过布尔值控制子组件展示部分。父组件通过设置`showEdit`属性传递给子组件,子组件通过`props`接收并决定是否显示特定按钮和操作栏。方法包括使用`v-if`指令和在表格列定义中进行条件渲染。此外,还讨论了权限控制,如`v-hasPermission`指令用于控制图标显示。
摘要由CSDN通过智能技术生成

父子组件:
1.父组件在里 加入:showEdit="showEdit"
子组件通过props来引用:直接在export default 里写入 不在生命周期里

props:{
    showEdit:{
      type:Boolean,
      default:true
    }
  },

2.父组件里面自己去掉设置图标
直接去掉就可以了
<icon
v-hasPermission="‘41’"
class=“setting-icon”
name=“shezhi”
@click.native=“microspot(41, ‘类目导航’, showEidtCate)”
/>

3.父子组件之间:使用布尔值控制的
原因是:需要有的父组件显示全部 有的父组件去掉部分

父组件:
    在return里面定义showEdit:false,

    在要引入的子组件<lm>加入:showEdit="showEdit"//这个组件里包含按钮和表格操作栏
   

子组件:
    子组件通过props来引用:直接在export default 里写入  不在生命周期里 

props:{
    showEdit:{
      type:Boolean,
      default:true
    }
  },	


3.1 操作一: 去掉组件里的按钮:在要去掉的按钮下:v-if=“showEdit” showEdit是自己定义的

<div class="button2-box" v-if="showEdit">
              <el-button size="small" type="primary" @click="add">新增</el-button>
              <el-button size="small" type="primary" @click="removeItem">移动类目</el-button>
              <el-button size="small" type="primary" plain @click.native="deleteRow">删除</el-button>
</div>

3.2 操作二:去掉子组件里的操作栏
法一:直接在columns的操作列加入(this.showEdit&&{    })||{ width:0.1 }
    如果不加||{ width:0.1 }表格就显示不出来  括号也要注意  括起来的

法二:把listColumns里的操作栏剪切    
created()里面写入操作列  通过if(this.showEdit)来判断  ,用push方法加入this.listColumns.push
这里操作在 mounted周期里有问题,所以改到created
 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值