smart-table st-sort только сортировка половина

Я использую smart-table для отображения таблицы имен сотрудников, расширений и т. Д. Мои данные загружаются нормально, но когда я пытаюсь выполнить сортировку с помощью st-sort, он сортирует только верхнюю половину строк. Всегда наполовину, всегда наверху.

Вот фрагмент html-кода с таблицей:

<div class="col8" ng-controller="employeeCtrl">
    <table st-table="employeesCollection" st-safe-src="employeesCollection" class="table table-striped">
        <thead>
            <tr>
                <th st-sort="firstName" st-skip-natural="true">First Name</th>
                <th st-sort="lastName" st-skip-natural="true">Last Name</th>
                <th st-sort="extension" st-skip-natural="true">Extension</th>
                <th st-sort="city" st-skip-natural="true">Store City</th>
                <th st-sort="number" st-skip-natural="true">Store Number</th>
            </tr>
            <tr>
                <td>
                    <input type="text" id="FirstName" size="10" ng-keyup="searchEmp()" /></td>
                <td>
                    <input type="text" id="LastName" size="10" ng-keyup="searchEmp()" /></td>
                <td>
                    <input type="text" id="Extension" size="10" ng-keyup="searchEmp()" /></td>
                <td>
                    <select id="store" onchange="searchEmp()">
                        <option value=''>Select City</option>
                        <% For Each city In cityList%>
                        <option value="<%=city%>"><%=city%></option>
                        <% Next%>
                    </select></td>
                <td>
                    <select id="storeNo" onchange="searchEmp()">
                        <option value=''>Select Store</option>
                        <% For Each store In storeList%>
                        <option value="<%=store%>"><%=store%></option>
                        <% Next%>
                    </select>
                </td>
            </tr>
        </thead>
        <tbody>
            <tr ng-repeat="employee in employeesCollection">
                <td ng-repeat="col in employee track by $index">{{col}}</td>
            </tr>
        </tbody>
    </table>
</div>

У кого-нибудь есть идеи?


person Michael    schedule 10.12.2015    source источник


Ответы (1)


Одна вещь, которую я замечаю, и это может быть проблемой, заключается в том, что вы используете одну и ту же коллекцию в директиве st-table и директиве st-safe-src. Если вы работаете с асинхронными данными, вам необходимо установить как в документации:

st-table="displayedCollection" st-safe-src="rowCollection"

И в вашем контроллере:

$scope.displayedCollection = [].concat($scope.rowCollection);
person Bata    schedule 10.12.2015
comment
Изменил в соответствии с документацией. Теперь это вообще не сработает. Я считаю, что это как-то связано с именами свойств st-sort, которые я ему даю. Я работаю с зубчатым массивом, поэтому технически у них нет имен свойств. - person Michael; 11.12.2015