appbaseio / appbaseio/reactivesearch

Vue - AutoScrollTop on pagination not working and pageChange event not emitted

Ouverte
#1,973 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug
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.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.