arrays - VueJS - 从复选框选择中过滤项目
问题描述
我希望通过类别名称来优化我的数据输出。
如何通过cat_array过滤输出项?同时保留我的文本搜索过滤器?
{
"id": 1,
"title": "Title one",
"category_data": {
"2": "Team",
"7": "Queries"
}
},
我用这个测试过:
return vm.info.filter(item => this.cat_array.includes(item.category_id))
Codepen 示例:https ://codepen.io/anon/pen/XxNORW?editors=1011
谢谢
解决方案
一种方法-(没有考虑All
逻辑):
this.info.filter(
item => Object.values(item.category_data).some(
cat => this.cat_array.includes(cat))
)
演示:
var info = [
{
"id": 1,
"title": "Title one",
"category_data": {
"2": "Team",
"7": "Queries"
}
},
{
"id": 2,
"title": "Title two",
"category_data": {
"2": "Team",
"7": "Queries"
}
},
{
"id": 3,
"title": "Title three",
"category_data": {
"2": "Team",
"7": "Queries"
}
},
{
"id": 4,
"title": "Title four",
"category_data": {
"2": "Team",
"7": "Queries"
}
},
{
"id": 5,
"title": "Title five",
"category_data": {
"2": "Team",
"6": "Questions",
"7": "Queries"
}
},
{
"id": 6,
"title": "Title six",
"category_data": {
"2": "Team",
"6": "Questions",
"7": "Queries",
"12": "Fax",
}
}
]
var cat_array = ["Questions"]
console.log(
info.filter(
item => Object.values(item.category_data).some(
cat => cat_array.includes(cat)
)
)
)
推荐阅读
- mysql - Time column value change without touching it
- vb.net - 如何读取通过 GetFiles 函数找到的文件的文件属性?
- r - 使用一个向量中的值来更改 R 中另一个向量中的值(for 循环)
- react-navigation - 如何使用反应导航删除双标头?
- html - 如何在附图中制作像这样的粘性/固定侧导航?
- javascript - 当使用 DOMNodeInserted 在控制台中正确显示时,为什么元素的 id 未定义?
- java - 这个 TestNg SoftAssert 的替代方案如何?
- python - 在 Numpy 中有效地计算欧几里德分布矩阵?
- webpack - 不能在电子锻造中使用静态文件
- pycharm - Pycharm 无法从 TightVnc 查看器打开