appbaseio / appbaseio/reactivesearch
Vue - AutoScrollTop on pagination not working and pageChange event not emitted
- Langage dominant
- JavaScript
- Étoiles
- 4.9k
- Forks
- 478
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
**Affected Projects**
Vue.JS
**Library Version:**
1.29.0
**Describe the bug**
When clicking on a page number, the ReactiveList component should scroll to top (by default) and should send a pageChange event.
In my case, the scroll is not done and I never get the pageChange event.
I think I found the problem in the code of the /packages/vue/src/components/result/ReactiveList.jsx component:
```
hits(newVal, oldVal) {
this.$emit('data', this.getData());
if (this.shouldRenderPagination) {
// called when page is changed
if (this.isLoading && (oldVal || newVal)) {
if (this.hasPageChangeListener) {
this.$emit('pageChange', this.currentPageState + 1, this.totalPages);
this.$emit('page-change', this.currentPageState + 1, this.totalPages);
} else if (this.scrollOnChange) {
window.scrollTo(0, 0);
}
}
```
I can be wrong but I think that the line
`if (this.isLoading && (oldVal || newVal)) {`
should be
`if (!this.isLoading && (oldVal || newVal)) {`
It's missing a NOT before this.isLoading. Else it will never execute the code that is following the condition because the loading is finished since a while at this time.
Guide de contribution
Ouvrir le guide de contribution
Évaluation
Cette issue n'a pas encore été évaluée.