Home > front end >  Using filter with slice array methods not working
Using filter with slice array methods not working

Time:09-21

I have a search input that I use to filter an array of users that are shown in a table. This table includes pagination so I'm using .slice to get 10 users to show on the table per page. For some reason, the search filtering works if I'm on page 1 (guessing because there's no slice on page 1?); after going to another page, the filtering stops working, this is to do with .slice since it works if I remove the .slice code. Any ideas why this is? There's something I'm not seeing here..

tableData() {
      return this.users
        .filter(
          (user) =>
            user.firstName.toLowerCase().includes(this.search.toLowerCase()) ||
            user.lastName.toLowerCase().includes(this.search.toLowerCase()) ||
            user.email.toLowerCase().includes(this.search.toLowerCase()),
        )
        .slice(this.perPage * (this.currentPage - 1), this.perPage * this.currentPage);
    },

CodePudding user response:

It s because your result is now on the first page or somewhere before.

You are slicing the result.

  • Related