У меня есть таблица, которая позволяет мне вставить новую строку выше или ниже другой строки. Таблица может быть отсортирована по столбцу.
Проблема в том, что новые строки с пустыми полями, которые добавляются в мою отсортированную таблицу, всегда будут отображаться в верхней части таблицы.
Это HTML:
<table>
<th ng-repeat= "header in headers">
<a href="#" ng-click="orderByField='name'; reverseSort = !reverseSort"> Name </a>
</th>
<tr ng-repeat "result in results | orderBy:orderByField:reverseSort">
<td>
<span>{{result}}</span>
<md-icon ng-click="addRow(result, true)"></md-icon>
<md-icon ng-click="addRow(result, false)"></md-icon>
</td>
</tr>
</table>
Это мой контроллер:
function addRow(selectedRow, isAbove) {
var selectedPos = $scope.results.indexOf(selectedRow);
var newRow = "";
if (isAbove) {
$scope.results.splice(selectedPos, 0, newRow);
} else {
$scope.results.splice(selectedPos + 1, 0, newRow);
}
}
Итак, если моя таблица выглядит следующим образом, после сортировки:
[Before sort] [After sort]
Name Name
---- ----
D A
---- ----
C B
---- ----
B C
---- ----
A D
---- ----
и я вставляю новая строка выше и ниже D , моя таблица теперь выглядит так:
Name
-----
""
-----
""
-----
A
-----
B
-----
C
-----
D
-----
Ожидаемый результат:
Name
----
A
----
B
----
C
----
""
----
D
----
""
----
Почему новые строки не t появляется прямо над или под строкой, из которой я выбрал добавление?