jiangh
jiangh
  • 发布:2025-09-22 11:32
  • 更新:2025-09-22 14:18
  • 阅读:22

【报Bug】微信小程序下节点多次查询执行结果与预计不一致

分类:uni-app

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

PC开发环境操作系统: Windows

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

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

基础库版本号: 3.9.2

项目创建方式: CLI

CLI版本号: 1.4.8

示例代码:

const tabs =  ["#section-0", "#section-1", "#section-2", "#section-3"];
const query = uni.createSelectorQuery().in(instance.proxy);
tabs.forEach(tab=>{
query.select(tab)?.boundingClientRect();
})
//执行所有查询
query.exec(res=>console.log(res));

操作步骤:

const tabs =  ["#section-0", "#section-1", "#section-2", "#section-3"];
const query = uni.createSelectorQuery().in(instance.proxy);
tabs.forEach(tab=>{
query.select(tab)?.boundingClientRect();
})
//执行所有查询
query.exec(res=>console.log(res));

预期结果:

[
{id:'section-0',...},{id:'section-1',...},{id:'section-2',...},{id:'section-3',...}
]

实际结果:

[
{id:'section-4',...},{id:'section-1',...},{id:'section-2',...},{id:'section-3',...}
]

bug描述:

在使用uni.createSelectorQuery().in(instance.proxy)查询多次select输入查询id与结果不一致,如 ["#section-0", "#section-1", "#section-2", "#section-3"],批量forEarch,然后query.exec,得到的确是 ["#section-4", "#section-1", "#section-2", "#section-3"]为id的元素。

const tabs =  ["#section-0", "#section-1", "#section-2", "#section-3"];  
const query = uni.createSelectorQuery().in(instance.proxy);  
tabs.forEach(tab=>{  
    query.select(tab)?.boundingClientRect();  
  })  
//执行所有查询  
query.exec(res=>console.log(res));  
结果与预计不一致
2025-09-22 11:32 负责人:无 分享
已邀请:
DCloud_UNI_JBB

DCloud_UNI_JBB

试试原生微信小程序有没有这个问题

要回复问题请先登录注册