使用wx.makePhoneCall报错:makePhoneCall:fail parameter error: parameter.phoneNumber should be String instead of Array

最近在做一个小程序,涉及到不同页面有不同的号码,本人小白,网上很多参考是单一的号码,比如一个小程序就几个号码,这样当然可以直接写死,当我直接使用参数获取号码,就不行了。

后来我找到了一个重要的参考

来自:https://blog.csdn.net/weixin_48201140/article/details/106406533

wxml部分

1
<view bindtap="callPhone" data-phone="{{userPhone}}">{{userPhone}}</view>

js部分

1
2
3
4
5
6
callPhone (e) {
let mobile = e.currentTarget.dataset.phone; //获取data-phone的手机号
wx.makePhoneCall({
phoneNumber: mobile
})
}

但是当我把代码放进去,发现会报错。直接把wxml部分的参数userPhone换成号码,又能打电话。换成参数就报错

makePhoneCall:fail parameter error: parameter.phoneNumber should be String instead of Array

我们在phoneNumber中使用的确实是字符串,可是仍然提示我们号码未定义,这个时候我们只需要在phoneNumber后面加上 +”就可以,将其转化为字符串

代码修改成下面这样就可以了。

1
<view bindtap="callPhone" data-phone="{{userPhone}}">{{userPhone}}</view>

js部分

1
2
3
4
5
6
callPhone (e) {
let mobile = e.currentTarget.dataset.phone; //获取data-phone的手机号
wx.makePhoneCall({
phoneNumber: mobile+""
})
}

有用的话 记得收藏下我的博客,会记录很多奇怪的坑。

此文章的评论已关闭.