当有多个列表时,如何才能使搜索框仅搜索一个列表?

时间:2016-02-04 16:40:47

标签: angularjs search-box angular-dragdrop

我有两个从我的控制器创建的列表,列表A和列表B来填充我的角度拖放列表。我有一个搜索框,可以在输入内容时搜索两个列表。我希望我的搜索框只搜索列表A而不是列表B.

(DX AX) = AX * operand
Models: {
  "selected": null,
  "lists": {
    "A": [
      {
        "label": "Item A1"
      },
      {
        "label": "Item A2"
      },
      {
        "label": "Item A3"
      }
    ],
    "B": [
      {
        "label": "Item B1"
      },
      {
        "label": "Item B2"
      },
      {
        "label": "Item B3"
      }
    ]
  }
}

1 个答案:

答案 0 :(得分:2)

我使用ng-if解决了我的问题,只有当listName为" A"

时才显示带有过滤器的<li>
<div class="panel panel-info">
    <div class="panel-heading">
        <h3 class="panel-title">{{listName}} code(s)</h3>
    </div>
    <div ng-if="listName == 'A'" class="panel-body">
        <ul dnd-list="list">
            <li ng-repeat="item in list | filter:searchBox"
                dnd-draggable="item"
                dnd-moved="list.splice($index, 1)"
                dnd-effect-allowed="move"
                dnd-selected="models.selected = item"
                ng-class="{'selected': models.selected === item}">
                {{item.label}}
            </li>
        </ul>
    </div>
    <div ng-if="listName == 'B'" class="panel-body">
        <ul dnd-list="list">
            <li ng-repeat="item in list"
                dnd-draggable="item"
                dnd-moved="list.splice($index, 1)"
                dnd-effect-allowed="move"
                dnd-selected="models.selected = item"
                ng-class="{'selected': models.selected === item}">
                {{item.label}}
            </li>
        </ul>
    </div>
</div>