arrays - Vue显示下一个数组项
问题描述
我想制作一个按钮来显示我的数组中的下两个项目。
数组的初始数量应该是 2,然后当按下按钮时,它应该用 2 个项目扩展数组,依此类推。当只有 1 个项目时,按钮不应该是可见的。
我怎样才能做到这一点?我可以用这个slice()
方法吗?
这是我到目前为止所拥有的。
解决方案
您可以在计算出的过滤数据上使用 slice 而不是使用 slice 的第二个参数作为键,您可以修改该键以告知您希望页面显示多少。我会打电话给这个productsToShow
。
data: () => ({
productsToShow: 2,
products: [...]
}),
computed: {
filteredData() {
const LowerCaseSearch = this.search.toLowerCase();
const filteredProducts = this.products.filter(
product =>
product.name.toLowerCase().includes(LowerCaseSearch) ||
product.category.toLowerCase().includes(LowerCaseSearch)
);
return filteredProducts.slice(0, this.productsToShow);
}
}
然后您可以修改您的ShowNext
组件按钮以发出父 ( List.vue
) 可以侦听的事件,然后更改键:productsToShow
推荐阅读
- android - 在 show() 之前获取 DialogFragment 子类中的父活动
- vb.net - LINQ to SQL 中的不同没有按预期工作(完全)
- angularjs - AngularJS 可选登录
- c++ - 使用 RCPP 快速更新大列表 (>50M)
- jquery - 无法使用 React+Jquery 获取 Bootstrap 下拉菜单的选定文本
- python - 使用 PIL 在另一个图像之上的图像上写入文本
- javascript - React/Firebase 错误:无法读取未定义的属性“数据库”
- amazon-web-services - 使用 cloudformation 修改 cloudwatch 警报中的数据点值
- node.js - vscode - 无法调试快速生成器项目
- javascript - 正则表达式匹配方括号内的字符串,用冒号分隔