收藏
回答

wx.createSelectorQuery()如何返回数据

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 需求 wx.createSelectorQuery() 工具 6.6.6 2.2.3

- 需求的场景描述(希望解决的问题)

let that = this

console.log(wx.createSelectorQuery().select('#id').boundingClientRect(function(rect){

      //  可以在此处赋值,不知如何将获取到的值返回?

      that.setData({

        key: rect.height

      }) 

    }).exec())

//  输出: undefined


- 希望提供的能力

let that = this

let height = 0

wx.createSelectorQuery().select('#id').boundingClientRect(function(rect){

      //  可以在此处赋值,不知如何将获取到的值返回?

      that.setData({

        key: rect.height

      })

      height = rect.height

}).exec()

return height


例如将获取参数的行为,封装成一个方法,取到值后返回相应的值。该操作应该是异步的,所以在调用Api之后返回数据,是0.


不知道是否有相关的取值方式,自己试了在exec()中返回也是无效。


最后一次编辑于  2018-08-23
回答关注问题邀请回答
收藏

2 个回答

  • Egoist
    Egoist
    2018-12-03

    我也碰到了,要怎么解决

    2018-12-03
    赞同
    回复
  • boxin
    boxin
    2018-08-23

    用settimeout延迟执行其他函数, 这个API函数无法返回值

    2018-08-23
    赞同
    回复 1
    • 車句
      車句
      2018-08-23

      谢谢

      2018-08-23
      回复