javascript - 使用带有切片数组方法的过滤器不起作用
问题描述
我有一个搜索输入,用于过滤表格中显示的一组用户。该表包括分页,因此我使用 .slice 让 10 个用户在每页的表上显示。出于某种原因,如果我在第 1 页,搜索过滤就会起作用(猜测是因为第 1 页上没有切片?);转到另一个页面后,过滤停止工作,这与 .slice 有关,因为如果我删除 .slice 代码,它就可以工作。任何想法为什么会这样?有一些我在这里没有看到的东西..
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);
},
解决方案
这是因为您的结果现在位于第一页或之前的某个位置。
您正在对结果进行切片。
推荐阅读
- zeromq - ZeroMQ:到 DEALER 套接字代理的 STREAM 套接字
- javascript - 如何在使用 Jquery 设置时间间隔后关闭 Bootstrap 模式窗口?
- python - 具有多个模型的 CreateView 和 ModelForm
- ms-access - SetFocus 到子表单数据表视图中的控件,其中复选框 = True
- angular - angular 5,keycloak-angular end 错误
- google-apps-script - 从数组创建多个项目
- javascript - 命名数组中求最小值的新方法
- rxjs - 角度 5,subject.next(value) 不会触发
- c# - GetSecurityInfo 总是返回拒绝访问
- android - 全新安装 Android Studio 后 Gradle 无法同步