小程序之页面如何获取自定义组件中的值
程序员文章站
2022-04-15 19:17:58
新建组件:在component下新建一个tabBar在组件的index.wxml中写如下代码:
- 新建组件:在component下新建一个tabBar
- 在组件的index.wxml中写如下代码:
<cover-view class="tab-bar">
<cover-view class="tab-bar-border"></cover-view>
<cover-view wx:for="{{list}}" wx:key="index" class="tab-bar-item" data-path="{{item.pagePath}}" data-index="{{index}}" bindtap="tabChange">
<cover-image src="{{tabbarIndex === index ? item.selectedIconPath : item.iconPath}}"></cover-image>
<cover-view style="color: {{tabbarIndex === index ? selectedColor : color}}">{{item.text}}</cover-view>
</cover-view>
</cover-view>
- 在组件的index.js中写如下代码:
Component({
properties: {
list: {
type: Array,
value: []
},
selectedColor:{
type: String,
value:''
},
color:{
type: String,
value:''
},
},
data: {
tabbarIndex: 0//默认显示第一个tab元素
},
methods: {
//组件的点击事件
tabChange(e) {
//获取到底部栏元素的下标
let index = e.currentTarget.dataset.index;
this.setData({
tabbarIndex:index,
})
//triggerEvent获取组件的事件
//onMyEvent 页面传过来的点击事件名称
this.triggerEvent('onMyEvent',{
tabbarIndex:index,
})
},
}
})
- 在页面pages/index/index.json中加入
{
"navigationBarTitleText": "测试",
"usingComponents": {
"mp-tabbar": "../components/tabBar/index"
}
}
- 在页面pages/index/index.wxml中加入
<view wx:if="{{tabbarIndex == 0}}">111111</view>
<view wx:if="{{tabbarIndex == 1}}">222222</view>
<view wx:if="{{tabbarIndex == 2}}">333333</view>
<mp-tabbar list="{{list}}" id='tabComponent' bind:onMyEvent="switchTab"></mp-tabbar>
- 在页面pages/index/index.js中加入
//获取组件传递出来的数据
switchTab:function(e){
let index = e.detail.tabbarIndex;
this.setData({
tabbarIndex:index
})
console.log(e.detail.tabbarIndex)
}
- 运行
本文地址:https://blog.csdn.net/gyueh/article/details/107484540
上一篇: JavaSE01
下一篇: 重构--代码如何进行重构