如何使用很多子元素获取ScrollView的高度?

时间:2017-02-16 14:20:36

标签: javascript react-native

有没有办法在React Native中获取整个ScrollView元素的高度?

return (
  <View ref='container' style={[ styles.container, backgroundColor, {width: this.props.width} ]}>
    <ScrollView ref='scroll' style={styles.scrollView}>  --> what height with inner content?
      {this._getTitle()}
      <View style={styles.content}>
        {items}
      </View>
      <View style={[styles.empty]} />
    </ScrollView>
  </View>
)

1 个答案:

答案 0 :(得分:1)

我不知道这是否是官方记录的API,但是可以使用本机滚动视图管理器来获取内容大小。

添加必要的导入:

import ReactNative, {NativeModules} from 'react-native';
const ScrollViewManager = NativeModules.ScrollViewManager;

在您已经有权访问scrollview ref:

的位置在您的代码中调用此方法
if(ScrollViewManager && ScrollViewManager.getContentSize) {
  ScrollViewManager.getContentSize(ReactNative.findNodeHandle(this.scrollViewRef), (contentSize) => {
    console.log(contentSize);
  })
}