У меня есть таблица с информацией о пользователе. Я хочу выбрать одну строку (объект) и показать значок выбора, и после выбора одной строки я хочу отменить выбор другой строки (предыдущей выбранной строки). Однако, с моим кодом, строки выбора накапливаются, если не выбирать строку снова ,
Код, который я создал:
this.selectRow = function (row) {
if (this.isClickable()) {
$scope.properties.selectedRow = row;
}
if (row.selected === undefined)
row.selected = false;
row.selected = !row.selected;
};
this.isSelected = function(row) {
return angular.equals(row, $scope.properties.selectedRow) ;
};
и HTML Таблица:
<tbody ng-if="ctrl.isArray(properties.content) && ctrl.isArray(properties.columnsKey)">
<tr ng-repeat="row in properties.content" ng-click="ctrl.selectRow(row)" ng-class="{'info': ctrl.isSelected(row)}">
<td> <span class="glyphicon glyphicon-ok" ng-show="row.selected"></span></td>
<td ng-if="!properties.allowHTML" ng-repeat="column in properties.columnsKey track by $index">
{{ $eval(column, row) | uiTranslate }}
</td>
<td ng-if="properties.allowHTML" ng-repeat="column in properties.columnsKey track by $index">
<div ng-if="properties.allowHTML" ng-bind-html="$eval(column, row) | uiTranslate"></div>
</td>
</tr>
</tbody>
Кажется, работает правильно, я мог бы выбрать и отменить выбор строки и значок показать, как правильно спрятаться однако мне нужно отменить выбор строки, которую я уже выбрал ранее.
Выбранный объект строки:
{"userName": "user1", "userId": "23",
"selected": true} {"userName": "user1", "userId": "23",
"selected": false}
Любая помощь будет признательна Спасибо.