【发布时间】:2018-09-18 21:29:15
【问题描述】:
我正在尝试使用尽可能简单且尽可能易读的复选框来制作过滤结果的解决方案。
我有一个名为filteredPositions 的计算属性,看起来像这样。但它不适用于一个阵列上的多个过滤器。有人对这个问题有好的解决方案吗?
这是计算的属性。
filteredPositions() {
if (this.checkedFilters.includes("SE")) {
return this.positions.filter(position => position.country_id == 1);
}
if (this.checkedFilters.includes("US")) {
return this.positions.filter(position => position.country_id == 2);
}
}
测试数据
data() {
return {
positions: [],
filters: [
{
name: 'SE',
},
{
name: 'US',
}
],
checkedFilters: ['SE', 'US'],
}
},
这是一个 JsFiddle
https://jsfiddle.net/0dzvcf4d/9657/
【问题讨论】:
标签: vue.js vuejs2 computed-properties