Сбросить фильтр в AngularJs - PullRequest
0 голосов
/ 06 февраля 2020

Я пытаюсь сбросить фильтры, нажав кнопку. Я попытался установить значения пустыми, но все, что делает, это полностью удаляет список параметров. Я хотел бы иметь возможность установить их пустыми и использовать их снова после сброса моего веб-приложения.

My JS.

$scope.resetFilters = function() {

        $scope.itemCat = {};

    }

My HTML.

<div class="card-header">
            <div class="col-12 text-center">
                <h1>Current Postings</h1>
            </div>
            <button type="button" class="btn btn-success" ng-click="resetFilters()">Reset Filters</button>
            <div class="row">

                <div class="col-lg-4 text-center">
                    <label for="searchByName">Filter by Keyword:</label><input type="text" id="searchByName"
                        class="form-control" ng-model="filteritem.itemName">
                </div>

                <div class="col-lg-4 text-center">
                    <label for="searchByCat">Filter by Category:</label><select
                        class="form-control" id="searchByCat" ng-options="value for value in itemCat"
                        ng-model="filteritem.itemCat">
                    </select>
                </div>

                <div class="col-lg-4 text-center">
                    <label for="searchByLocation">Filter by Location:</label><input
                        type="text" id="searchByLocation" class="form-control" ng-model="filteritem.location">
                </div>
            </div>

        </div>

HTML, на которые влияет мой фильтр.

<div class="card-body">
        <div class="row">

            <div class="col-md-3" ng-repeat="item in items | filter : filteritem">
                <div class="card">
                    <img src="data:image/png;base64,{{item.thumbnail}}"
                        class="card-img-top img-fluid">
                    <div class="card-block">
                        <h4 class="card-title">{{item.itemName}}</h4>
                        <p class="text-success">{{'$' + item.itemPrice}}</p>
                        <p class="card-text">
                            <small class="text-muted">{{item.location}}</small> <br>
                        </p>

                    </div>
                    <button type="button" ng-click="selectItem(item)"
                        class="btn btn-danger">View Item</button>
                </div>
                <br>
            </div>
        </div>
    </div>

Ответы [ 2 ]

0 голосов
/ 06 февраля 2020

Вы устанавливаете список категорий пустым вместо полей фильтра.

Удалите это:

$scope.itemCat = {};

И замените его на:

$scope.filteritem.itemName = null;
$scope.filteritem.itemCat = null;
$scope.filteritem.location = null;
0 голосов
/ 06 февраля 2020

Вместо $scope.itemCat = {}; попробуйте $scope.filteritem.itemCat=null;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...