tabbar选项卡+component动态组件的使用实例

component用法

<keep-alive> 
  <component :is="componentName"></component> 
</keep-alive>

keep-alive在组件切换过程中将状态保留在内存中,防止重复渲染DOM,减少加载时间及性能消耗,不使用的话组件被替换时会被销毁,再次使用时构造新的。

用例

有一个选项卡,标签的数量不是固定的,之后可能有扩展功能需要增加。切换标签即切换展示的组件。
用v-if判断当前生效组件名也可以,不过显得冗余。
可以使用component ,这样只需要在tabConfig里加入后面新增的组件信息,不必再修改html内容。

   <avue-tabs :option="{ column: tabConfig }" @change="handleChangeByTab" ref="avueTabs"></avue-tabs>
    <component :is="activeTab" :ref="activeTab" :invoiceId="formData.invoiceId"></component>

tabConfig是组件列表,里面有组件名和标签上要显示的label文本
handleChangeByTab 修改activeTab为当前组件名
invoiceId是自定义的要传给组件的内容。

不过如果不同组件要传入不同内容,还是要额外进行判断设置

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值