uni-im原生导航按钮(pages.json里)的与页面的跳转区别
一、原生按钮 pages.json里
{ "path": "uni_modules/uni-im/pages/index/index", "style": { "navigationBarTitleText": "会话列表", "enablePullDownRefresh": false, "app-plus": { "titleNView": { "titleAlign": "center", "titleWidth": "50%", "buttons": [ { "index": 0, "color": "#999999", "colorPressed": "#38BC48", "float": "right", "text": "通讯录", "fontSize": 14, "width": "70px", "padding": "0 5px" }, { "index": 1, "color": "#999999", "colorPressed": "#38BC48", "float": "left", "text": "用户列表", "fontSize": 14, "width": "80px", "padding": "0 5px" } ] } } } }跳转方式:
onNavigationBarButtonTap(e) {}
// ✅ 原生导航栏按钮专属监听方法,和im-sample的按钮逻辑完全一致 onNavigationBarButtonTap(e) { // e.index对应pages.json里buttons数组的index值 // 你现在的配置:index:0是右侧「通讯录」,index:1是左侧「用户列表」 console.log('点击了原生按钮,index:', e.index); // 先打印确认监听正常 switch(e.index) { case 0: // 右侧:通讯录 uni.navigateTo({ url: '/uni_modules/uni-im/pages/contacts/contacts' }); break; case 1: // 左侧:用户列表 uni.navigateTo({ url: '/uni_modules/uni-im/pages/userList/userList' }); break; } }二、页面里的跳转按钮:
<!-- #ifdef APP --> <view class="app-nav-btns"> <text @click="toContacts" class="nav-btn">通讯录</text> <text @click="toUserList" class="nav-btn">用户列表</text> </view> <!-- #endif -->跳转方法:
toContacts() { uni.navigateTo({ url: '/uni_modules/uni-im/pages/contacts/contacts' }); }, toUserList() { uni.navigateTo({ url: '/uni_modules/uni-im/pages/userList/userList' }); }