ich eine Liste habe ich nach unten scrollen will, muss ich meine Komponente wie diese componentDidUpdate scroll nach unten, wenn Element geladen wird
class Msg extends Component {
componentDidUpdate() {
if(this.container){
this.container.scrollTop = this.container.scrollHeight
}
}
render() {
return(
<div ref={elem = this.container = elem}>
<Item />
<Item />
<Item />
</div>
)
}
}
codiert Es funktionierte. Aber das Problem ist, dass es jedes Mal scrollt, wenn die Komponente neu rendert. Msg hat viele untergeordnete Komponenten, löst den Status der untergeordneten Komponente aus, damit die Msg-Komponente erneut gerendert wird. Wie löst man dieses Problem?
Um es wie ein normaler Benutzer zu erklären:
Benutzerrollen auf der Liste, klicken Sie dann auf Dropdown irgendwo löste die componentDidUpdate, nach unten gescrollt verursacht.
Also, wenn Sie es wollen ... nach unten scrollen, wenn ein neues Element hinzugefügt wird? Ich würde vorschlagen, dem UX eine neue Schaltfläche hinzuzufügen, die es dem Benutzer ermöglicht, bei Bedarf nach unten zu scrollen. – camou
@camou in der msg von whatssap, hast du einen Knopf dafür gesehen? –
Nein, aber WhatsApp zwingt mich nicht zu gehen, wenn ich auf iOS9.2 scrolle. Wann möchten Sie also nach unten scrollen, wenn eine neue Nachricht angezeigt wird oder wenn der Benutzer innerhalb der letzten Sekunden aufhört zu scrollen? – camou