Vue.js 如何使用ramda和vue对过滤后的数据进行分页

Vue.js 如何使用ramda和vue对过滤后的数据进行分页,vue.js,pagination,Vue.js,Pagination,我正在尝试制作一个电子商务列表页面,左侧有不同的过滤器,右侧有使用ramda和vue的产品。我有两个问题: 1我试图筛选1-100范围内的产品价格 2我无法对过滤后的产品进行分页 问题1:我正在传递[0,1,2,3,4,…,99100],我试图使用includes从中过滤99,但代码无法过滤正常JS中应该过滤的内容,但我不知道为什么ramda.JS只过滤精确的单词或数字 问题2:当产品加载时,分页工作正常,但当我过滤时,因为我希望每页显示10个项目;它只在第一页中显示10个项目,并丢弃所有其他筛

我正在尝试制作一个电子商务列表页面,左侧有不同的过滤器,右侧有使用ramda和vue的产品。我有两个问题:

1我试图筛选1-100范围内的产品价格

2我无法对过滤后的产品进行分页

问题1:我正在传递[0,1,2,3,4,…,99100],我试图使用includes从中过滤99,但代码无法过滤正常JS中应该过滤的内容,但我不知道为什么ramda.JS只过滤精确的单词或数字

问题2:当产品加载时,分页工作正常,但当我过滤时,因为我希望每页显示10个项目;它只在第一页中显示10个项目,并丢弃所有其他筛选项目,因此在第一页之后没有页面

问题1:

返回R.pipeR.获取“产品价格”,R.uniqproducts\u列表 返回此.products\u list.filter prod=>prod.product\u prices].someval=>this.filters.includeval 问题2:

如果this.currentPage>=this.totalPages{ this.currentPage=this.totalPages } var index=this.currentPage*this.itemsPerPage-this.itemsPerPage; 返回this.filteredProducts.sliceindex,index+this.itemsPerPage; 问题1:我想使用ramda和vue从一系列价格中筛选价格


问题2:应用任何过滤器后,我应该能够看到所有已过滤的产品都已分页。

问题在这一行:

this.resultCount = (!this.activeFilters.length) ? this.products.length : this.activeFilters.length
您不想计算过滤器,而是要计算过滤后的产品。像这样:

this.resultCount = (!this.activeFilters.length) ? this.products.length : this.filteredProducts.length           

你可以从中看到它。但是下次,请把你的代码贴在这里。小提琴链接是一个很好的额外链接,但是所有相关的东西也应该出现在问题中。您发布的代码不足以说明您的问题。

您可能希望共享一些数据。我不知道99是从哪里来的。当你说代码无法过滤正常JS中应该过滤的代码时,你说的根本不清楚,但我不知道为什么ramda.JS只过滤精确的单词或数字。拉姆达的记录相当充分;您正在尝试将其数组行为与其字符串1结合起来吗?最后,在将来,请每个SO帖子只包含一个问题。制作附加的内容很容易。@scott我将通过阅读包含的内容来尝试找出问题1的解决方案。你能帮我解决第二个问题吗。我无法对过滤后的产品进行分页。如果我的过滤器有15个产品,而im每页显示10个产品,则分页仅显示10个,而丢弃其余5个。我对Vue了解不多。但至少,我认为你应该分享一些数据。您提供的代码可能是某些对象中包含属性(如currentPage、totalPages、itemsPerPage和filteredProducts)的方法体。它看起来好像是为了获得一页的数据而设计的。而且看起来它应该会起作用。那么你有什么样的输入,你期望什么样的输出,你得到的是什么?@scott下面是代码:如果你过滤Bay Area,你可以看到它有两个产品,但分页限制在只有一页。它应该显示2页,因为有2个湾区产品。