通过计算的VUE通过其他对象过滤对象



我正在尝试构建一个由复选框过滤的表。我有3个对象:

  • 选择:当前选择哪些复选框
  • 站点:什么填充了复选框。对象结构:sites: [{ siteid, name } ...]
  • 项目:所有表项目。对象结构:items: [{siteid, gradeid, cpl} ..]

pastebin:https://pastebin.com/j2kbr2xycodepen:https://codepen.io/tomdickson/pen/oqxpay

希望这提供足够的信息

尝试此代码。我认为这会起作用。

computed: {
    filteredPositions () {
      return this.items.filter(item => this.selected.includes(item.siteid));
    }
  }

小提琴 - https://jsfiddle.net/8x3yer54/1/

只需用它替换,它的工作正常。

computed: {
        filteredSite() {
            if (!this.selected.length || this.selected.includes(true)) 
                return this.items
             return this.items.filter(item => this.selected.find((item2) => item2.site==item.site))
        }
    }

最新更新