gpt4 book ai didi

react-native - 如何在 ScrollView 或 ListView 上保持位置?

转载 作者:行者123 更新时间:2023-12-03 16:26:01 27 4
gpt4 key购买 nike

当您在 ReactNative 应用程序中使用 ScrollView 或 ListView 并且一些新数据进来时,它们的默认行为是保持 Scroll 组件中的位置。这意味着如果当你在 ScrollView 中间时,高度为 20 的新数据进来,屏幕上的项目将滑动 20,有时它会离开屏幕。

有没有办法保持/跟踪位置?例如,如果新的高度为 20 的数据进来,则位置自动调整位置 20,使当前屏幕项目保持在屏幕上。提前致谢。

最佳答案

我有一个可行的解决方案,虽然它不是很顺利,但它可以完成工作:

handleScroll = (event) => {
this.scroll = event.nativeEvent.contentOffset.y
if (this.ready && this.scroll < SCROLL_TRIGGER) {
// load more stuff here
}
}

handleSize = (width, height) => {
if (this.scroll) {
const position = this.scroll + height - this.height
this.refs.sv.scrollTo({x: 0, y: position, animated: false})
}
this.height = height
}

// render:

<ScrollView ref="sv"
scrollEventThrottle={16}
onScroll={this.handleScroll}
onContentSizeChange={this.handleSize}
>
{content}
</ScrollView>

如果有人让事情变得更顺畅,请告诉我们!

关于react-native - 如何在 ScrollView 或 ListView 上保持位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41270949/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com