2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Implémenter la personnalisation dans le mini-programme WeChat tabBar
Il peut fournir un menu de navigation inférieur plus flexible et personnalisé pour votre application.En raison du mini programme officiel WeChattabBar
Capacités de configuration limitées, personnalisationtabBar
C'est devenu le choix de nombreux développeurs d'implémenter une navigation inférieure complexe.Ce qui suit est un exemple simple de la façon d'implémenter la personnalisation dans un mini-programmetabBar
。
Tout d'abord, vous devez app.json
Configuration moyennetabBar
informations de base, maiscustom
Le champ doit être défini surtrue
pour activer la personnalisationtabBar
。
{
"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"
}
}
Créez un fichier nommé custom-tab-bar
dossier et créez-y les fichiers requis (par ex.index.js
、index.json
、index.wxml
、index.wxss
)。
La logique peut être traitée ici, comme changer d'onglet en fonction de la page actuelle.
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)
});
}
}
});
Définissez les informations de configuration du composant.
{
"usingComponents": {}
}
Définissez la structure de 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>
Ajoutez du style.
.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;
}
exister app.js
Introduisez et utilisez le composant tabBar personnalisé.
App({
onLaunch: function () {
// 在这里可以执行一些启动时的逻辑
},
usingComponents: {
'不同角色,控制查看底部菜单权限
实现效果1:实体店
实现效果2:回收公司
