微信小程序 组件和slot_[微信小程序]动态slot的使用

本文介绍了如何在微信小程序中使用动态slot创建一个Tab切换组件。通过启用组件的多slot支持,定义properties,设置组件及样式,并在页面中引用和使用组件,实现了动态展示内容的功能。虽然文档未明确提及动态slot,但通过这种方法可以实现类似效果。
摘要由CSDN通过智能技术生成

slot,Vue中叫做插槽,是向组件中插入内容的容器。小程序是支持动态slot的。

下面使用动态插槽建立一个完整的tab切换组件。

建立组件

组件的路径为components/tabSwitcher/tab-switcher

启用多slot支持

在组件的.js文件中添加下面代码:options:{

multipleSlots: true

}

定义组件的properties

在组件的.js文件中添加下面的代码:properties: {

titleList: Array

}

组件WXML

{{item.title}}

组件WXSS.tab-box {

position: fixed;

left: 0;

top: 0;

right: 0;

display: flex;

justify-content: space-around;

height: 90rpx;

line-height: 90rpx;

text-align: center;

}

.tab-box .tab {

flex: auto;

font-size: 26rpx;

color: #191919;

}

.tab-box .tab.active {

position: relative;

font-size: 30rpx;

font-weight: bold;

}

.tab-box .tab.active::after {

content: '';

position: absolute;

left: 50%;

bottom: 0;

transform: translateX(-50%);

height: 4rpx;

width: 48rpx;

background-color: #00bb2c;

}

.tab-list-box {

height: 100%;

box-sizing: border-box;

padding-top: 90rpx;

}

.tab-list-box .tab-swiper, .tab-list-box .tab-swiper-item {

height: 100%;

}

.tab-list-box .tab-scroll-view {

height: 100%;

}

使用组件

在页面的.json文件中引用组件:"usingComponents": {

"TabSwitcher":"../components/tabSwitcher/tab-switcher"

}

定义组件需要的数据

在页面的.js文件中添加下面的代码:data: {

titleList: [{

title: '未开始'

},

{

title: '进行中'

},

{

title: '已结束'

}

]

}

在页面WXML中使用组件:

{{item}}

最后的效果是这样的:

这里代码还未完善,tab都是active的样式

总结

微信小程序的文档中并没有写明slot支持动态生成。

实现类似的功能也有很多途径,不一定非要用动态slot。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值