微信小程序taBbar添加事件

发布于 7 年前作者 lwen4474 次浏览最后编辑 7 年前来自 ask

具体场景:有一个taBbar名叫“拨打电话”,当我点击这个“拨打电话”的taBbar时,调用小程序的API(makePhoneCall)。

看文档中,taBbar中一定是跳转到对应的页面上,我能不能把taBbar只当成button来使用,触发一个事件,就OK了呢?

希望大家能帮我解下惑,谢谢!

10 回复
cxie
cxie1 楼6 年前

好像这个可行,我试下

ming96
ming962 楼6 年前
Page({
 
    data: {
        tel: 0
    },
 
    onLoad: function (options) {
 
    },
 
    onShow: function () {
        if (!this.data.tel > 0) {
            wx.makePhoneCall({
                phoneNumber: '123456789',
                success: () => {
                    setTimeout(() => {
                        this.setData({
                            tel: 0
                        })
                    }, 500);
                }
            })
            this.setData({
                tel: 1
            })
        }
    },
 
    onHide: function () {
        wx.switchTab({
            url: '../index/index'
        })
    }
 
})

我也遇到奇葩老板了,这是我写的拨打电话的tabbar页面的js代码,送给那些有缘人。

qiang84
qiang843 楼6 年前

这方法可行?

yong65
yong654 楼6 年前
onTabItemTap(item) {
    console.log(item.index)
    console.log(item.pagePath)
    console.log(item.text)
  }

https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html#onTabItemTap-Object-object

leishen
leishen5 楼6 年前

我想到一个折中的方法,在“拨打电话”taBbar页面: 1. onLoad阶段,调用API(makePhoneCall)2. onShow阶段,调用API(reLaunch),关闭所有页面,重定向到主页面。  这样每次点击“拨打电话”的taBbar,就像是一个button触发事件一样。 唯一一个不好的地方是: 每次都是回到主页面,而不是上级页面。

kyao
kyao6 楼6 年前

你的返回事件里面做判断呀

rma
rma7 楼6 年前

老哥,请问你的问题解决了吗

xiuyingren
xiuyingren8 楼6 年前

打电话的API里有个fail的回调吧,你里面做判断跳首页

yanshi
yanshi9 楼6 年前

他点击取消 就是走了fail了 你直接给他跳首页

yancao
yancao10 楼5 年前

这个方法我试过,它会无限循环请求  API(makePhoneCall), 因为请求这个API后,会跳转到手机拨打电话的界面,这时按返回,它会跳转回  现在的 taBbar页面,再执行onShow里的代码,又继续请求API