问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 微信小程序 Bug wx.createSelectorQuery() 客户端 6.7.2 2.0.4
- 当前 Bug 的表现(可附上截图)
- 预期表现
只出现 select 选择的数据
- 复现路径
- 提供一个最简复现 Demo
this.query = wx.createSelectorQuery()this.query.select(selector).boundingClientRect().exec(res => { console.log(selector,'=',res) resolve(res[0]);});返回值是重复的数据:
微信小程序开发问题解答
开发者回复:
this.query = wx.createSelectorQuery().in(parent.$root.$mp.page);let that = thisposition(selector) {let that = this; return new Promise(function (resolve, reject) { that.query.select(selector).boundingClientRect().exec(res => { resolve(res[0]); }); })}//调用时
await this.position('#t01')
微信小程序开发者回答:
原因找到了,应该是每一次查询时重新声明一次
createSelectorQuery,改成下面的就可以了
position(selector) { let that = this; let id = selector.substring(1) let query = wx.createSelectorQuery().in(that.parent.$root.$mp.page); return new Promise(function (resolve, reject) { query.select(selector).boundingClientRect().exec(res => { res.forEach((item)=>{ if (item.id){ if (item.id == id) { resolve(item); } } }) }); })}
微信小程序开发者回答:
哦~
微信小程序开发者回答:
多贴点代码呢 看看你selector怎么写的
本文网址:http://www.91bianli.com/kaifazhinan/75947.html