In meiner Anwendung gibt es Filter auf allen Listenseiten. Jetzt, wie pro Anforderung, möchte ich angewandte Filter auf Browser-Schaltfläche zurück erhalten. Zum Beispiel hat der Benutzer Filter auf der Verkaufslistenseite angewendet. Danach klickt er auf einen Datensatz, um zur Verkaufsseite zu gelangen. Wenn der Benutzer nun auf die Schaltfläche Zurück des Browsers klickt, sollten die angewendeten Filter beibehalten werden. Um dies zu erreichen, habe ich unten gefallen. Auf Verkaufsliste SeiteSo behalten Sie angewendete Filter auf der Browser-Schaltfläche zurück in der Antwort js
componentWillMount() {
const { list, checkReportClose,
updateReportCloseStatus } = this.props;
const { inPopState } = this.state;
window.onpopstate =() => {
if (!_.isEmpty(list)) {
this.setState({ filters: JSON.parse(list.input.filters),
inPopState: true}, this.loadList);
}
}
if(!inPopState && inPopState != undefined &&
checkReportClose == false) {
this.loadList();
}
}
obigen Code verwenden es funktioniert gut, aber vor einiger Zeit Taste ruft er die lis Seite api (this.loadList) twise.
Bitte schlagen Sie eine neue Lösung oder Modifikation in bestehenden vor.
Danke.
Sie können LocalSpeicher verwenden, um Filterwerte zu speichern. Wenn der Benutzer wieder auf die gleiche Seite zurückkehrt, werden die gespeicherten Werte aus dem lokalen Speicher abgerufen und an die aufgerufene API übergeben –