У меня есть таблица людей, показывающих, и если их больше 3, тогда должны отображаться элементы управления нумерацией страниц.Я хочу позволить пользователю добавлять / удалять людей в / из этой таблицы.
Мне удалось добавить и удалить из таблицы, и если есть 3 или менее людей, они отображаются правильно.Если я добавлю четвертого человека, я бы ожидал, что элемент управления нумерацией страниц перейдет на 2-ю страницу и в верхний ряд.Хотя, похоже, что это происходит, элемент управления нумерацией страниц покажет «2» для возможного номера страницы, но 4-й человек показывает на первой странице .... все остальные добавленные также переходят на первую страницу.Кажется, что номера страниц внизу не работают - страница не меняется.Я обновляю значение текущей страницы, но не похоже, что оно отражается.
Ниже приведена часть моего просмотра.Есть некоторые дополнительные части, которые на самом деле не имеют отношения к подкачке.Я использую их, чтобы добраться до нужной строки, чтобы предоставить пользователю поле ввода для ввода имени сотрудника, если была нажата кнопка «Добавить инициативу».Как только они находят, кого ищут, значения просто отображаются.
<table class="table" >
<tbody ng-repeat="boLead in components[selectedRow].boleads " pagination-id="boleads" >
<tr >
<td id="leadId" >{{boLead.boLeadId}}</td>
<td ng-show="(inserted == boLead && newLead) ">
<input type="text" class="form-control" ng-model="boLead.boLead" ng-model-options='{ debounce: 800 }' ng-change="searchEmployee(boLead.boLead)" />
<table class="table table-hover table-bordered" ng-show="employees.length">
<tr>
<th>Employee ID</th>
<th>Employee Name</th>
</tr>
<tr ng-repeat="result in employees" ng-click="pickEmployee(result, boLead)">
<td>{{result.user_id}}</td>
<td>{{result.name}}</td>
</tr>
</table>
</td>
<td ng-show="(inserted != boLead && !editq || (editq && editl != ($index+(3*(pagination.current-1)))) )">{{boLead.boLead}}</td>
<td ng-if="mode == 'edit'">
<select class="form-control input-md" ng-model="boLead.forwardONS" >
<option>Yes</option>
<option>No</option>
</select>
</td>
<td ng-if="mode == 'edit' && (!checkNewLead(boLead) && !editq)">
<button type="button" ng-click="removeLead($index+(3*(pagination.current-1)))" class="btn btn-danger fa fa-trash"> Delete</button>
</td>
<td ng-if="mode == 'view'" ng-bind-html="boLead.forwardONS"></td>
</tr>
</tbody>
</table>
<uib-pagination previous-text="‹" next-text="›" ng-model="pagination.current" class="pagination-sm" ng-if="pagination.totalLeads > 3" items-per-page="3" total-items="pagination.totalLeads" boundary-link-numbers="true"></uib-pagination>
Контроллер: это часть для добавления человека в список
$scope.addLead = function() {
$scope.inserted = {
prgGuid: $scope.components[$scope.selectedRow].prgGuid,
componentId: $scope.components[$scope.selectedRow].componentId,
boLeadId: '',
boLead : '',
forwardONS: ''
};
if (typeof $scope.components[$scope.selectedRow].boleads == 'undefined') {
$scope.components[$scope.selectedRow].boleads = new Array($scope.inserted);
} else {
$scope.components[$scope.selectedRow].boleads.push($scope.inserted);
}
$scope.newLead = true;
$scope.editq = true;
$scope.editl = $scope.components[$scope.selectedRow].boleads.length-1;
if ($scope.components[$scope.selectedRow].boleads.length > 3) {
var pg = Math.ceil($scope.components[$scope.selectedRow].boleads.length / 3);
$scope.pagination.current = pg;
}
$scope.pagination.totalLeads = $scope.components[$scope.selectedRow].boleads.length;
};
Когда я шагаючерез это $ scope.pagination.current = pg;обновляется правильно с текущей страницей.Например, после добавления 4-го человека оно становится равным 2. Это ng-модель в элементах управления нумерацией страниц, но не похоже, что нумерация страниц прослушивается, поскольку экран не изменяется, чтобы показать новую строку.но вместо этого все четыре показывают.
Я просмотрел много постов, но, похоже, я делаю что-то отличное от всех - я не смог найти пример того, как кто-то добавляет строку, а затем экранную страницу, когда достаточно записей, требующих перехода.на новую страницу.