Интеллектуальная таблица Angualarjs ищет определенные столбцы

я использовал эту документацию smart table

<form>
    <label for="predicate">selected predicate:</label>
    <select class="form-control" id="predicate" ng-model="selectedPredicate" ng-options="predicate for predicate in predicates"></select>
</form>
<table st-table="rowCollection" class="table table-striped">
    <thead>
    <tr>
        <th st-sort="firstName">first name</th>
        <th st-sort="lastName">last name</th>
        <th st-sort="birthDate">birth date</th>
        <th st-sort="balance">balance</th>
        <th>email</th>
    </tr>
    <tr>
        <th>
            <input st-search="{{firstName}},{{lastName}}" placeholder="search for firstname" class="input-sm form-control" type="search"/>
        </th>
        <th colspan="3">
            <input st-search placeholder="global search" class="input-sm form-control" type="search"/>
        </th>
        <th>
            <input st-search="{{selectedPredicate}}" placeholder="bound predicate" class="input-sm form-control" type="search"/>
        </th>
    </tr>
    </thead>
    <tbody>
    <tr ng-repeat="row in rowCollection">
        <td>{{row.firstName | uppercase}}</td>
        <td>{{row.lastName}}</td>
        <td>{{row.birthDate | date}}</td>
        <td>{{row.balance | currency}}</td>
        <td><a ng-href="mailto:{{row.email}}">email</a></td>
    </tr>
    </tbody>
</table>

я использовал поиск st-search для определенного столбца. он работает нормально, но два столбца не работают. вы не могли бы мне помочь? мне нужен поиск только по двум столбцам


person Angu    schedule 19.09.2015    source источник


Ответы (2)


По-видимому, нет возможности добиться этого напрямую со встроенной смарт-таблицей.

Вы можете использовать директиву, подобную предложенной здесь: поиск смарт-таблицы AngularJS в нескольких столбцах < /а>

person Ellone    schedule 29.10.2015

У меня есть еще одна идея для тех, у кого такая же проблема: если ваша коллекция строк данных не слишком велика, в javascript на init() страницы сделайте что-то вроде:

self.rowCollection.forEach(function (element) {

  element.NameForFilter = element.firstName+ ' ' + element.lastName;  
});

а затем на входе:

st-search=NameForFilter
person talia    schedule 22.09.2019