- 当前 Bug 的表现(可附上截图)
在使用开发者工具提供的 "真机调试" 功能,在"iPhone XR,IOS 12.1.1,wx 7.01"上调试"getMenuButtonBoundingClientRect"接口时:
在onLoad钩子里调用`getMenuButtonBoundingClientRect`方法返回的对象`data`,是一个空对象!
然后我用settimeout延后5s,再去访问这个返回的对象`data`,可以访问到正常结果。
在不通过`真机调试`功能,直接在真机运行能一次获取到结果正常。
- 预期表现
希望通过"真机调试"功能也能得到一致的结果。
- 复现路径
请通过微信开发者工具的`真机调试`功能下,来跑这个接口。
- 提供一个最简复现 Demo
就onLoad里,直接调用这个接口,查看返回结果,最好用JSON.stringify固化下返回的对象。
onLoad() {
const rectInfo = wepy.getMenuButtonBoundingClientRect()
console.log(JSON.stringify(rectInfo))
setTimeout(() => {
console.log(JSON.stringify(rectInfo))
}, 5000)
}
看图吧
看图
我不是说不能打印;我的截图也打印出来了呀;我打印的是对象而已;我是说setData之后的是个空对象
不和你扯那么多,自己开贴报bug。因为我试的,真机或者通过开发工具都可以赋值到非空对象。
扫描二维码预览,vConsole 是否是相同的表现呢
扫描二维码预览, 通过vConsole 是有立即返回的数据。
感谢反馈,下个版本将修复此问题
wx.getMenuButtonBoundingClientRect() 是异步操作吗? 这样做延时不合理呀?也没有回调函数?
下面这样写,在开发者工具可以;手机扫码,或真机获取不到。
Page({
data: {
iconStyle: wx.getMenuButtonBoundingClientRect(),
}
})
如果做延时之后setData();发现手机上的尺寸和开发者工具不一样;请问下,这个bug,在处理吗?
请在onLoad方法里面调用
给我一个理由;和你一样写延时?不合理吧