如何在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中使用计算的三个搜索字段的主要内容,如果未能解决你的问题,请参考以下文章

Vue JS - 当其中使用的字段更新时,观看计算如何触发它?

Vue.js - 如何访问子组件的计算属性(Vuetify 数据表)

在编辑另一个文本字段 vue.js 时获取计算属性并传递其值

如何使用 v-model 和 v-if 使用 Vue.js 构建一个简单的计算器?

带有嵌套数组的 Vue Js 搜索示例

如何在节点 js 和 mongodb 中使用填充的字段键值名称进行搜索?