如何在vue js中使用计算的三个搜索字段

Posted

技术标签:

【中文标题】如何在vue js中使用计算的三个搜索字段【英文标题】:How to do in vue js three search fields with computed 【发布时间】:2021-06-30 22:23:43 【问题描述】:

我正在尝试创建三个搜索字段。带有一个输入和两个选择器。不知何故,我设法与两个一起工作,但与三个它不工作我需要帮助

 computed: 
    filterMembers: function () 
      let filtered = this.trabalinhos;

      if (this.searchText) 
        filtered = this.trabalinhos.filter(
          (m) => m.title.toLowerCase().indexOf(this.searchText) > -1
        );
      

      if (this.searchTrabalho) 
        filtered = filtered.filter(
          (m) =>
            m.title.toLowerCase().indexOf(this.searchTrabalho) ==
            this.searchTrabalho.toLowerCase() > -1
        );
      

      if (this.select) 
        filtered = filtered.filter(
          (m) =>
            m.title.toLowerCase().indexOf(this.select) ==
            this.select.toLowerCase() > -1
        );
      

      return filtered;
    ,
  ,

【问题讨论】:

【参考方案1】:

考虑使用includes。

computed: 
  filterMembers() 
    return this.trabalinhos
      .filter(member => member.title.toLowerCase().includes(this.searchText))
      .filter(member => member.title.toLowerCase().includes(this.searchTrabalho))
      .filter(member => member.title.toLowerCase().includes(this.select))
  

computed: 
  filterMembers() 
    return this.trabalinhos
      .filter(member => 
        member.title.toLowerCase().includes(this.searchText) &&
        member.title.toLowerCase().includes(this.searchTrabalho) &&
        member.title.toLowerCase().includes(this.select)
    )
  

【讨论】:

以上是关于如何在vue js中使用计算的三个搜索字段的主要内容,如果未能解决你的问题,请参考以下文章