小程序
小游戏
企业微信
微信支付
扫描小程序码分享
const query = uni.createSelectorQuery()
query.select('#cardcontent').fields({
rect: true,
size: true,
}, res => {
console.log("card size:",res)
}).exec()
我用以上代码在浏览器上面是正常可以获取到rect,但是在微信开发的模拟器总是为null
请问大佬们这是什么原因呢?感谢感谢
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
在uni-app中,获取元素的rect信息时,需要确保元素已经渲染完成。你可以尝试使用`ready`方法来确保元素已经渲染完成,然后再进行获取。以下是修改后的代码:
const query = uni.createSelectorQuery() query.select('#cardcontent').fields({ rect: true, size: true, }, res => { console.log("card size:", res) }).exec() // 确保元素渲染完成后再执行获取操作 query.ready(res => { if (res) { console.log("元素已渲染完成") } else { console.log("元素未渲染完成") } }).exec()
这样,你应该可以在微信开发模拟器上正常获取到元素的rect信息了。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
在uni-app中,获取元素的rect信息时,需要确保元素已经渲染完成。你可以尝试使用`ready`方法来确保元素已经渲染完成,然后再进行获取。以下是修改后的代码:
const query = uni.createSelectorQuery() query.select('#cardcontent').fields({ rect: true, size: true, }, res => { console.log("card size:", res) }).exec() // 确保元素渲染完成后再执行获取操作 query.ready(res => { if (res) { console.log("元素已渲染完成") } else { console.log("元素未渲染完成") } }).exec()
这样,你应该可以在微信开发模拟器上正常获取到元素的rect信息了。
我按照以上代码尝试了,在vue3中没有提供ready函数了,直接就报错了。我是写在
<script setup>
onMounted(() => {
####以上代码块####
}
<script>