[AngularJS]角 ng-repeat 筛选器搜索后取消选中所有复选框

发布时间: 2017/4/16 20:53:54
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有一个问题我的 AngularJS 与 ng-repeat 筛选器。 当我过滤器在我 ng-repeat 输入字段后,角取消选中所有复选框自动。

若要选择特定类别 ! 它不可能列出所有类别我有 (还有超过 100),因此我使用搜索筛选器。

角的作品,但它的"筛选"功能搜索后取消选中所有复选框。复选框的布尔值应是保持不变。

这是我的代码︰

<div ng-switch-when='e_categories'>
    <div class="chat-search">
        <div class="fg-line">
            <input type="text" class="form-control" ng-model="e_categoriesFilter" placeholder="E-Categories filtern">
        </div>
    </div>
    <div vs-repeat>
        <div class="checkbox m-10" ng-repeat="e_category in e_categories | filter:e_categoriesFilter">
            <label>
                <input type="checkbox" ng-model="eCategoryFilter" ng-click='filterByECategories(e_category)' value='@{{ e_category.id }}'>
                <i class="input-helper"></i>
                @{{ e_category.name }}
            </label>
        </div>
    </div>
</div>

它看起来很容易,但我不能弄清楚如何做到这一点。

解决方法 1:

需要改变什么是

<input type="checkbox" ng-model="eCategoryFilter" ng-click='filterByECategories(e_category)' value='@{{ e_category.id }}'>

<input type="checkbox" ng-model="e_category.checked" ng-click='filterByECategories(e_category)' value='@{{ e_category.id }}'>

默认情况下,e_category.checked 将默认为 false,或者你可以将它初始化为 false。当用户选中该复选框时,它将存储作为真实等等重新呈现将保持这种状态。

赞助商