【问题标题】:problem filter search with checkbox, vuejs带有复选框的问题过滤器搜索,vuejs
【发布时间】:2022-01-15 19:30:10
【问题描述】:

我是 vue js 的初学者我想根据选中的复选框过滤搜索,如果我选中所有复选框我没有得到结果的问题

<template>
    <input type="checkbox" id="fr" value="fruits" v-model="sel">
        <label for="fr">fruits</label>
        <input type="checkbox" id="leg" value="vegetable" v-model="sel">
        <label for="leg">vegetable</label>
    
    
          <ul v-for="i in ar " :key="i">
            <li>{{i.title}}</li>
            <li>{{i.category}}</li>
            <li>{{i.uri}}</li>
          </ul> 
    </template>
    <script>
     data(){
        return{
          sel:[],
          tab:[
            {title:"aaa",uri:"aaaa.com",category:"fruits",icon:null},
         {title:"add",uri:"aaaa.com",category:"vegetable",icon:null},
          {title:"aff",uri:"aaaa.com",category:"fruits",icon:null},
        {title:"bbb",uri:"bbbb.com",category:"vegetable",icon:null},
        {title:"bdd",uri:"bbbb.com",category:"fruits",icon:null}
          ]
        }
      },
      computed:{
         ar(){
         return this.tab.filter((item)=>{
           return item.category.includes(this.sel)
         })
          
        }
      }
    </script>

【问题讨论】:

    标签: vue.js


    【解决方案1】:

    this.sel 是一个数组,您想使用some 方法检查任何术语是否在类别中:

    ar(){
      return this.tab.filter((item)=>{
        return this.sel.some(term => item.category.includes(term))
      })
    }
    

    【讨论】:

      猜你喜欢
      • 2019-07-23
      • 1970-01-01
      • 1970-01-01
      • 2015-07-10
      • 2019-03-04
      • 2021-01-05
      • 2023-04-05
      • 2012-01-14
      • 2018-03-13
      相关资源
      最近更新 更多