ScrollView
- category: Components
- chinese: 滚动组件
- type: 基本
ScrollView 是一个包装了滚动操作的组件。一般情况下需要一个确定的高度或 flex 1 来保证 ScrollView 的正常展现。
API
属性 | 说明 | 类型 | 默认值 |
---|
horizontal | 是否横向 | boolean | false |
showsHorizontalScrollIndicator | 是否显示水平滚动条 | boolean | true |
showsVerticalScrollIndicator | 是否显示垂直滚动条 | boolean | true |
onEndReachedThreshold | 设置加载更多的偏移 | string | 500rem |
onEndReached | 滚动到底部时的事件( 距离底部 onEndReachedThreshold 长度时触发) | event | 无 |
scrollEventThrottle | 在滚动过程中,scroll 事件被调用的频率(默认值为 100),用于滚动的节流 | number | 100 |
onScroll | 滚动时触发的事件 | function | |
style | 容器样式 | object | 无 |
contentContainerStyle | 容器内部 container 样式 | 无 | |
resetLoadmore 实例方法
this.refs.scroller1.resetLoadmore();
<ScrollView ref="scroller1" onEndReached={this.loadmore}>
{this.getViews()}
</ScrollView>;
这是一个重置 onEndReached 是否能触发的
标记位的方法。标记位默认为 true,即滚动到底部即可触发 onEndReached 事件。但当 onEndReached 触发后,没有通过 setState 增加数据导致页面 scroller 内容变长,(或者反而变短了),native 端会将标记位设置为 false。
此时调用 resetLoadmore ,可以清除标记位,让 onEndReached 可以再次触发。