3

我正在使用 react native v0.44.2 的滚动视图,我想禁用拉动刷新并只生成视图的滚动,是否有另一种方法可以在不使用滚动视图的情况下做到这一点?
看了一些老版本,不知道最近有没有放这个动画。所以我的代码如下:

render() {
    return (
      <View>
        <ScrollView>
          <View style={styles.box}>

          </View>
          <View style={styles.box}>

          </View>
          <View style={styles.box}>

          </View>
          <View style={styles.box}>

          </View>
          <View style={styles.box}>

          </View>
          <View style={styles.box}>

          </View>
        </ScrollView>

      </View>
    );
  }
}

和我的风格:

const styles = StyleSheet.create({

  box: {
    backgroundColor: 'blue',
    height: 300,
    width: 200,
    borderWidth: 5,
    borderColor: 'red'
  }
});
4

3 回答 3

15

我遇到了同样的问题并通过将bounces属性设置为false

<ScrollView bounces={false} style={{ flex: 1 }}>
...
</ScrollView>

文档:ScrollView反弹

于 2018-09-12T06:26:12.753 回答
2

最初使用 const refresh = false 。然后在调用 _onRefresh 时,将刷新从 false 更改为 true,并重新初始化 scollview 的内容。

const refreshing = false ;
const data= [];

//your class definition
_onRefresh(){
        refreshing=true;
        this.props.clearYourData();
        data= [];
        refreshing=false;
    }

render(){
  return (
    <ScrollView refreshControl={
      <RefreshControl
        refreshing={refreshing}
        onRefresh={this._onRefresh.bind(this)}
        title="Loading..."
        />
       }
      />  >
     {data}
  </ScrollView>)
}
于 2017-08-18T13:30:44.467 回答
0

在这里我们可以做的是,我们可以通过使用 this 来禁用 Pull 上的拉动动画。

<ScrollView
refreshing={false}
>
**YOUR RENDER ITEM**
</ScrollView>

我从来没有在滚动视图上实现过这个,但它可能对你有帮助

于 2017-07-31T09:25:27.013 回答