我想做一个当用户在首页点击底部首页的 tabbar(第一个)时,页面刷新的功能,于是在首页的 js 文件中写了 onTabItemTap 事件,且其他的 tabbar 页面没有写 onTabItemTap 事件。


在首页中点击首页的 tabbar(第一个)时,的确会执行 onTabItemTap 函数。但是在其他未设置 onTabItemTap 的 tabbar 页面中,点击首页的 tabbar(第一个)时,会跳转到首页并且也执行首页 js 中的 onTabItemTap 函数。


目前在 Android 和 微信小程序IOS 端都出现这个问题,在开发工具中没有出现。


- 预期表现


从其他 tabbar 页面切换到某一 tabbar 页面时,不执行该页面中定义的 onTabItemTap 函数。

展开全部
收起
3回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Black&RED

    12人对此回答表示赞同

    从其他tabbar页面切换到某一tabbar页面时,不执行该页面中定义的onTabItemTap函数。

    展开
    12
    7回复
    发布于 5年前

    评论(7)

    收起评论

    • Jose 2019-03-01 13:28

      这个问题我们考虑一下,目前你可以判断是否在当前页面,然后做不同的逻辑。

      回复
    • Melanie 2019-03-03 18:27

      我觉得你说的有道理,官方说的不符合预期不合理

      回复
    • 万劫 2019-03-05 15:52

      我做的就是“在当前页面还点当前页面的tab”,达到的效果就是点了之后回到顶部刷新,和微博APP的交互一样

      回复
    • Fan番 2019-03-07 15:02

      onShow与onHide,正常的页面跳转也会触发,还要自己加下各种环境下的判断。既然有tap的事件、为什么只能当前页面的tap才能触发。一般人不会已经在当前页面了还点当前页面的tap吧

      回复
    • Bellrrrrr 2019-03-09 08:13

      这样的话请修改开发者工具的逻辑,目前开发者工具中,是符合我的预期的——即“从其他tabbar页面切换到某一tabbar页面时,不执行该页面中定义的onTabItemTap函数”

      回复
    • 吴语 2019-03-11 17:04

      你说的有道理,不过一般类似这种需求我会在onShow里完成。

      回复
    • 吴世之 2019-03-13 23:33

      我们需要监听tap切换后处理当前tap页面的事件。比如当前页面有一个弹层,但是小程序的自定义弹层遮不住tap,所以能被tap切换页面。我们需要知道用户点击了其它tap,然后关闭前一tap的弹层

      回复
  • 余生

    8人对此回答表示赞同


    展开
    8
    2回复
    发布于 5年前

    评论(2)

    收起评论

    • Bryson 2019-02-27 19:58

      任意一个tab页点击都触发,直接用onShow就行了,没必要用这个东西啊

      回复
    • 暗恋未遂 2019-03-01 09:02

      对啊,首先我觉得就应该仅在当前tab页点击才能触发,再者就算微信设计成任意一个tab页点击都会触发,那也应该统一开发工具和手机客户端的表现,现在这两个地方的逻辑不一样就很尴尬

      回复
  • Tomas

    2人对此回答表示赞同

    如果点击任意一个tabBar都会触发onTabItemTap,那么我为什么要用这个东西,直接用onShow不就行了么!

    展开
    2
    0回复
    发布于 5年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部