使用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+"" }) } |
有用的话 记得收藏下我的博客,会记录很多奇怪的坑。