Javascript 如何使用Vuejs从多个选择选项(下拉列表)中筛选列表

Javascript 如何使用Vuejs从多个选择选项(下拉列表)中筛选列表,javascript,vuejs2,Javascript,Vuejs2,我需要找出一个过滤函数,它将根据从多个下拉列表中选择的内容来完成对象列表的过滤。如果在下拉列表中未选择任何内容,则不应对这些值进行过滤 我已经设置了一个fiddle,它展示了一个模拟结构,但需要帮助编写javascript函数,以便在从下拉列表中选择选项时实时过滤列表 以下是示例结构: 您遇到的一些问题: v-model=type/size错误,应与selectedType/size绑定。v-model for表示此Dom的当前数据,而不是其子项的数据 创建一个计算结果,返回筛选结果,而不是it

我需要找出一个过滤函数,它将根据从多个下拉列表中选择的内容来完成对象列表的过滤。如果在下拉列表中未选择任何内容,则不应对这些值进行过滤

我已经设置了一个fiddle,它展示了一个模拟结构,但需要帮助编写javascript函数,以便在从下拉列表中选择选项时实时过滤列表

以下是示例结构:

您遇到的一些问题:

v-model=type/size错误,应与selectedType/size绑定。v-model for表示此Dom的当前数据,而不是其子项的数据

创建一个计算结果,返回筛选结果,而不是items中的v-for=item

修复后,代码如下所示:

新Vue{ el:“应用程序”, 数据:{ 所选类型:, selectedSize:, 项目:[ { 名称:'name1', 类型:“类型1”, 尺寸:'size1' }, { 名称:'name2', 类型:“类型2”, 尺寸:'size2' }, { 名称:'name3', 类型:“类型1”, 尺寸:'size1' }, { 名称:'name4', 类型:“类型2”, 尺寸:'size2' } ] }, 计算:{ 计算项:函数{ 让filterType=this.selectedType, filterSize=this.selectedSize 返回此.items.filterfunctionitem{ 设为true iffilterType&&filterType.length>0{ 筛选=项。类型==筛选类型 } 过滤{ iffilterSize&&filterSize.length>0{ 筛选=项。大小==筛选大小 } } 返回过滤 } } } } 类型1 类型2 1号 2号 {{item.name} {{item.type} {{item.size}
很好!谢谢
<div id="app">
  <select v-model="type">
    <option value="type1">Type 1</option>
    <option value="type2">Type 2</option>
  </select>

  <select v-model="size">
    <option value="size1">Size 1</option>
    <option value="size2">Size 2</option>
  </select>

  <ul>
    <li v-for="item in items">
      <span>{{ item.name }}</span>
      <span>{{ item.type }}</span>
      <span>{{ item.size }}</span>
    </li>
  </ul>
</div>

new Vue({
  el: '#app',
  data: {
    items: [
    {
      name: 'name1',
      type: 'type1',
      size: 'size1'
    },
    {
      name: 'name2',
      type: 'type2',
      size: 'size2'
    },
    {
      name: 'name3',
      type: 'type1',
      size: 'size1'
    },
    {
      name: 'name4',
      type: 'type2',
      size: 'size2'
    }
    ]
  }
})