2***@qq.com
2***@qq.com
  • 发布:2022-02-25 11:11
  • 更新:2024-10-10 17:34
  • 阅读:5855

【报Bug】uniapp vue3 uni.createSelectorQuery() 使用报错

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: windows10

HBuilderX类型: 正式

HBuilderX版本号: 3.3.12

第三方开发者工具版本号: 1.05.2201240

基础库版本号: 2.22.0

项目创建方式: HBuilderX

操作步骤:

var query = uni.createSelectorQuery().in(this);
query.selectViewport().scrollOffset()
query.select('#content').boundingClientRect();
query.exec(function(res) {
console.log(res)
});

预期结果:

获取dom元素的节点

实际结果:

VM1578 WAService.js:2 Unhandled promise rejection TypeError: Cannot read property 'route' of undefined

bug描述:

在vue3使用uni.createSelectorQuery()获取不到dom元素节点信息

2022-02-25 11:11 负责人:DCloud_UNI_GSQ 分享
已邀请:
w***@foxmail.com

w***@foxmail.com

import {getCurrentInstance,} from 'vue';

const instance = getCurrentInstance();

const query = uni.createSelectorQuery().in(instance);

query.select('.selfnodes').boundingClientRect(data => {
if (data) {
console.log("获取到布局信息", data);
}
}).exec();

微信小程序、字节小程序递归组件中亲测可行

DCloud_UNI_Anne

DCloud_UNI_Anne

DCloud_UNI_Anne

DCloud_UNI_Anne

请提供一个可直接运行复现的简单示例demo(上传附件)

  • 2***@qq.com (作者)

    已上传复现附件

    2022-02-25 12:12

2***@qq.com

2***@qq.com (作者)

复现demo文件

DCloud_UNI_Anne

DCloud_UNI_Anne

问题确认,后续优化,已加分,感谢您的反馈!

  • StarSky

    import {getCurrentInstance,} from 'vue';

    const instance = getCurrentInstance();

    const query = uni.createSelectorQuery().in(instance.root);

    h5可以拿到节点信息,所有小程序上面拿不到

    2022-04-07 17:19

  • 5***@qq.com

    一年多过去了 后续在哪体现了?

    2023-06-06 17:41

  • pudding_18

    有后续吗》还是会偶现这个bug,vue2的

    2023-07-27 15:41

1***@139.com

1***@139.com

getCurrentInstance 去拿this 不是vue官方建议的做法

5***@qq.com

5***@qq.com

后续呢?

4***@qq.com

4***@qq.com

我也遇到了 ~~~~~~~~~

d***@163.com

d***@163.com - 海螺哦

解决了在onMounted中用就行了

要回复问题请先登录注册