1.createSelectorQuery无法获取节点宽高

业务场景: 列表需要在最后一页底部显示 ‘我是有底线的~’ 提示,但是如果数据只有一页且不占满屏幕的话,就不显示。需要判断 ‘我是有底线的~’ 这个节点距离顶部的top值是否超出screenHeight。
 
因为小程序有很多列表需要用到 ‘我是有底线的~’ ,所以把它封装组件。然后使用

//创建节点选择器
var query = wx.createSelectorQuery();
//选择id
var that = this;
query.select('.content').boundingClientRect(function (rect) {
console.log(rect)
}).exec();
 
结果返回 null !!!
期初以为是动态获取数据,创建节点的原因,获取不到节点。后测试选择定高节点也无法获得宽高,还用了 ref的方法,只能取到节点,无法获得宽高。
 
后来终于找到问题所在
 
 createSelectorQuery只能选择内置组件,不能选择自定义组件。
将 id 和对应的 query 逻辑放子组件里,自定义组件还需要把this.$scope传进去

父组件:

import Taro, { Component } from '@tarojs/taro'
import { View } from '@tarojs/components'
import Child from '../../components/child/child' export default class PageView extends Component {
render () {
return <View>
<Child></Child>
</View>
}
}

 

子组件:

import Taro, { Component } from '@tarojs/taro'
import { View } from '@tarojs/components' export default class Child extends Component {
componentDidMount () {
const query = Taro.createSelectorQuery().in(this.$scope)
query.select('.line').boundingClientRect().exec(res => {
console.log(res);
})
} render() {
return (
<View class='line'>我是有底线的~</View>
)
}
}

 

2.

最新文章

  1. java 中获取2个时间段中所包含的周数(股票的周数-&gt;从周六到周五)
  2. 读懂IL代码就这么简单(三)完结篇
  3. mysql mha 主从自动切换 高可用
  4. PHP“Cannot use object of type stdClass as array” (php在调用json_decode从字符串对象生成json对象时的报错)
  5. iomanip.h
  6. 关于java里小数点的保留
  7. L1-Day13
  8. Python进阶4---Python的文件IO
  9. 2018.5.15Html标签初学
  10. 初学javascript《一》break和continue的标签问题
  11. MySQL索引原理以及查询优化
  12. Scrapy基础(十三)————ItemLoader的简单使用
  13. 笨办法06字符串(string)和文本
  14. linux mongodb 及php-mongo扩展安装
  15. WPF 程序在 Windows XP 下报错:The image format is unrecognized.
  16. hdu4719 Oh My Holy FFF 线段树优化dp
  17. Python中根据提供的日期,返回是一年中的第几天
  18. SOJ 1089 FatMouse的奶酪 暴力
  19. NET Framework安装失败的麻烦
  20. UCASE() 函数

热门文章

  1. singleWsdl和wsdl区别,Axis2和CXF对比
  2. Pycharm有必要改的几个默认设置项以及快捷键
  3. c# word excel text转html的方法
  4. O046、掌握Cinder 的设计思想
  5. 设计模式及UML图
  6. apply()和call()的方法
  7. require.context() 用于获取一个特定上下文的,webpack的一个api
  8. zookeeper配置文件说明
  9. 7、TortoiseSVN
  10. bizcharts在火狐上的Invalid date报错