0
나는 목록은 다음과 같은 HTML과 발동기 지시어를AngularJS와는 - 어떻게 필터링하려면 배열
<select class="select-list" multiple
ng-model="unassigned"
name="unAssignedList"
data-no-dirty-check
ng-options="unassignedItem.descrip for unassignedItem in unassignedItems | orderBy:'descrip' | filter: filterCriteria"></select>
, 나는이 지시어를 사용하면 내가 좋아하는 내 필터 기준을 지정할 수 있습니다 이
<data-sm:duallist-directive ng-required="false" keep-pristine="true"
unassigned-items-title="'@String.Format(Labels.availableX, Labels.items)'"
unassigned-items="currentItemGroup.unassignedItems"
assigned-items-title="'@String.Format(Labels.assignedX, Labels.items)'"
assigned-items="currentItemGroup.assignedItems"
sortable="false"
filter-criteria="{categoryId:selectedCategoryId}"
selected-item="currentItemGroup.selectedItem">
</data-sm:duallist-directive>
MoveAllLeft (또는 MoveAllRight) 단추에 문제가 있습니다.
$scope.moveRightAll = function() {
var unassignedItems = $scope.unassignedItems.slice(0);
var smItems = $scope.unassignedItems.slice(0);
angular.forEach(smItems, function (value, key) {
$scope.assignedItems.push(value);
removeItem(unassignedItems, value);
});
$scope.unassignedItems = unassignedItems;
if (!$scope.keepPristine)
$scope.form.$setDirty();
$scope.assigned = null;
};
문제는 그것이 원래 필터링되지 않은 배열에 대해 작동한다는 것입니다 : 그들은 다음과 같은 코드가 있습니다. 말하자면, 총 642 개의 항목이 있고 범주별로 5 개만 필터링 한 경우 화면에 표시되지 않는 642 개가 아닌 내 버튼을 누르면이 5 개 항목 만 이동하려고합니다.
필터링 된 항목 만 가져 오도록 코드를 수정하려면 어떻게해야합니까? 또한 필자는 필터 기준을 입력 할 필요가 없으므로 필터 기준에 아무 것도 입력되지 않으면 올바르게 작동해야합니다.