내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
WeChat 미니 프로그램에서 사용자 정의 구현 tabBar
이는 귀하의 애플리케이션에 보다 유연하고 개인화된 하단 탐색 메뉴를 제공할 수 있습니다.공식 WeChat 미니 프로그램으로 인해tabBar
제한된 구성 기능, 사용자 정의tabBar
복잡한 하단 탐색을 구현하는 것은 많은 개발자의 선택이 되었습니다.다음은 미니 프로그램에서 사용자 정의를 구현하는 방법에 대한 간단한 예입니다.tabBar
。
먼저, 다음을 수행해야 합니다. app.json
중간 구성tabBar
기본적인 정보이지만custom
필드를 다음으로 설정해야 합니다.true
사용자 정의를 활성화하려면tabBar
。
{
"pages": [
"pages/index/index",
"pages/logs/logs",
"pages/profile/profile"
],
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle": "black"
},
"tabBar": {
"list": [
{
"pagePath": "pages/index/index",
"text": "首页"
},
{
"pagePath": "pages/logs/logs",
"text": "日志"
},
{
"pagePath": "pages/profile/profile",
"text": "我的"
}
],
"custom": true,
"color": "#7A7E83",
"selectedColor": "#3cc51f",
"borderStyle": "black"
}
}
라는 이름의 파일을 생성합니다. custom-tab-bar
폴더에 필요한 파일을 생성합니다(예:index.js
、index.json
、index.wxml
、index.wxss
)。
현재 페이지를 기준으로 탭을 전환하는 등의 로직을 여기서 처리할 수 있습니다.
Component({
data: {
selected: 0,
list: [{
pagePath: '/pages/index/index',
text: '首页'
}, {
pagePath: '/pages/logs/logs',
text: '日志'
}, {
pagePath: '/pages/profile/profile',
text: '我的'
}]
},
methods: {
switchTab: function(e) {
const data = e.currentTarget.dataset;
if (this.data.selected === data.index) return;
wx.switchTab({url: data.path});
},
onShow: function(e) {
// 当 tabBar 显示时触发,可以根据需要获取当前页面路径
const { path } = getCurrentPages().pop();
this.setData({
selected: this.data.list.findIndex(tab => tab.pagePath === path)
});
}
}
});
구성 요소의 구성 정보를 정의합니다.
{
"usingComponents": {}
}
tabBar의 구조를 정의합니다.
<view class="tab-bar">
<block wx:for="{{list}}" wx:key="index" wx:for-index="idx">
<view class="tab-item {{selected === idx ? 'active' : ''}}" data-path="{{item.pagePath}}" data-index="{{idx}}" bindtap="switchTab">
{{item.text}}
</view>
</block>
</view>
스타일을 추가하세요.
.tab-bar {
display: flex;
justify-content: space-around;
background-color: #fff;
position: fixed;
bottom: 0;
left: 0;
right: 0;
height: 50px;
}
.tab-item {
padding: 10px 0;
text-align: center;
}
.tab-item.active {
color: #3cc51f;
}
존재하다 app.js
사용자 정의 tabBar 구성 요소를 도입하고 사용하십시오.
App({
onLaunch: function () {
// 在这里可以执行一些启动时的逻辑
},
usingComponents: {
'不同角色,控制查看底部菜单权限
实现效果1:实体店
实现效果2:回收公司
