在ios上,用户点击按钮,可以正常回调,但是在安卓端就无法进入回调,希望安卓端能正常进入回调
补充了代码片段因业务需要,在页面的onHide事件中我隐藏了按钮,查看日志发现,在弹出授权的时候,App和页面的onHide事件都执行过,这种情况下用户授权获取手机号后后,页面回调不会执行,如果我去掉pageShow的相关控制逻辑,则页面回调能正常执行
< view wx:if = "{{pageShow}}" > < button open-type = "getPhoneNumber" bindgetphonenumber = "bindGetPhoneNumber" >login</ button > </ view > |
Page({ data: { pageShow: true }, bindGetPhoneNumber: function (e) { wx.showLoading(); setTimeout( function (){ wx.hideLoading(); },2000) }, onLoad: function () { }, onShow: function (){ this .setData({ pageShow: true }) }, onHide: function (){ this .setData({ pageShow: false }) } }) |
安卓下弹授权框会触发 onHide 导致,这个我们修复下。要规避的话,不要用 wx:if 的方式把组件销毁,通过 hidde 或 display none 来
说下发现问题的场景吧 最近在处理兼容无障碍读屏的问题 发现,在旁白模式下,二级页面滑动浏览,会获取到首页元素的焦点,对于通过navigateTo进行导航,会有同样的问题。 才出现了这种奇怪的代码
意思是,通过 navigateTo 跳转后,在下一个页面滚动,但却获取了上一个页面的焦点?
对,旁白模式下,滑动浏览(其实就是遍历页面元素)的时候,会获取到上一个页面的焦点
使用display none 的方案是可行的,hidden没试
不能进入回调是什么意思?这边测试是正常的,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
已经添加了复现问题的代码,谢谢