uniapp之tabBar/页面切换

本文详细介绍了uniapp的目录结构,特别是如何配置和使用tabBar进行页面切换。通过调整tabBar的list属性实现底部导航栏顺序变化,并演示了在uniapp中创建和设置页面切换的具体步骤,包括在微信小程序中打开和测试uniapp项目的方法。同时,还简要提到了get和post请求的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.uniapp目录结构

在这里插入图片描述
uni.scss 直接在里面编辑全局样式,且无需在每个分页面中引入,只需在style里添加 lang="scss"即可

2.tabBar

1.作用(设置页面切换的底部导航栏

如果应用是一个多 tab应用,可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时
显示的对应页。

2.属性
在这里插入图片描述
在这里插入图片描述
3.list中的属性
在这里插入图片描述

3.设置进入小程序的默认显示页面

只需要将pages.json里的位置颠倒一下即可
在这里插入图片描述

4.调整底部导航栏位置顺序

颠倒tabBar里list的顺序即可
在这里插入图片描述

5.uniapp项目实现切换页面

(1)进入uniapp官网,点击左侧列表的tabBar
在这里插入图片描述
(2)复制列表右侧的tabBar代码粘贴到pages.json

"tabBar": {
   
    "color": "#7A7E83",
    "selectedColor": "#3cc51f",
    "border
### 实现 UniApp 自定义 TabBar 点击时不切换页面 为了实现在 UniApp 中自定义 TabBar 的点击事件不触发默认的页面跳转行为,可以采取以下方法: 在 `methods` 部分重写点击处理逻辑,在其中阻止默认动作的发生。具体来说,可以在点击回调函数中返回 `false` 或者通过条件判断控制是否执行进一步操作。 对于给定的例子,可以通过修改 `setTabBarIndex` 方法来达到目的[^2]: ```javascript methods: { setTabBarIndex(index) { // 添加条件判断防止页面跳转 if (!shouldSwitchPage) { // 这里可以根据实际情况调整条件 return; } // #ifdef MP-WEIXIN if (typeof this.$mp.page.getTabBar === 'function' && this.$mp.page.getTabBar()) { this.$mp.page.getTabBar().setData({ selected: index }) } // #endif } } ``` 另外一种方式是直接拦截点击事件并做相应处理而不调用任何可能导致页面变化的方法。这通常涉及到对组件内部机制更深入的理解以及可能需要定制化开发。 最后需要注意的是,在每个导航的 `onShow` 生命周期钩子中加入 `uni.hideTabBar({animation: false})` 可以有效避免某些情况下原生 tabBar 显示出来的问题[^3]。 ```javascript export default { ... onShow() { uni.hideTabBar({ animation: false }); }, ... }; ``` 这样做的好处是可以确保即使有意外情况发生也不会让用户看到不必要的界面元素。 #### 关键点总结: - 修改点击处理器中的逻辑以决定何时允许或阻止页面转换。 - 使用 `return false;` 来终止事件传播或者简单地结束函数执行流程。 - 在适当的地方隐藏系统自带的 tabBar 组件以防其干扰用户体验。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值