Я использую ListView scrollToEnd
, но он не работает, но он работал для scrollTo
. Что мне делать, чтобы справиться с этим.
React Native ListView scrollToEnd не работает
Ответ 1
Существует обходное решение, оберните его в setTimeout
следующим образом:
componentDidMount() {
setTimeout(() => {
this.refs.dateList.scrollToEnd();
}, 50);
}
Ответ 2
Попробуй это:
<ListView
ref={ ( ref ) => this.scrollView = ref }
onContentSizeChange={ () => {
this.scrollView.scrollToEnd( { animated: false } )
} } >
</ListView>
Ответ 3
Рендеринг требует времени, поэтому setTimeout() перед прокруткой до конца будет работать. Однако вы можете использовать метод onLayout().
export default MyComponent extends React.Component {
constructor(props) {
super(props)
this.scrollToBottom = this.scrollToBottom.bind(this)
}
scrollToBottom() {
this.refs.myView.scrollToEnd()
}
render() {
return {
<ListView
onLayout={this.scrollToBottom}
ref='myView'
...
/>
}
}
Примечание. ListView устарел.