FormatSelection в select2Option - удаление данных

FormatSelection в select2Option удаления данных.

Я получаю свои данные в

$scope.superclasses = superclassDataList.data;

где superclassDataList исходит из обслуживания в угловом режиме. Данные, которые я получил от службы:

{
"data": [{ "name": "new Test", "id": 4506898162253824, "attendanceAllowed": true, "subclasses": [{ "title": "HIN", "children": null, "entityName": "MyClass", "entityId": 5136918324969472 }, { "title": "ENG 101 A", "children": null, "entityName": "MyClass", "entityId": 5699868278390784 }]
}
],
"success": true,
"errorMessage": ""
}

Код, где я применяю свою ng-grid чтобы показать эти данные:

<div ng-class="col.colIndex()" ng-show="!superclasses[row.rowIndex].edit" ng-repeat="subclass in superclasses[row.rowIndex].subclasses">{{subclass.title}} ,</div>

(Я добавил одно дополнительное поле "edit" в суперклассах, поэтому не путайте с этим. Если он истинно, первый div (редактируемый режим) будет виден еще второй (режим просмотра))

Код для select2 я пишу:

$scope.subclassNameFormat=""; $scope.select2Options = { allowClear : true, multiple: true, width : 550, minimumInputLength: 3, query: function (query){ SuperclassService.getSubclassesUnassigned({searchTerm: query.term.toUpperCase()}, function(response) { $scope.classesList = response.data; var data = { results: [] }; $.each($scope.classesList, function(){ if(this.list === undefined || this.list.length === 0) { data.results.push({id: this.id, text: this.title,isApplied: false}); } }); query.callback(data); }, function(error){ console.log("Superclass is not deleted.... Please try again"); }); }, formatSelection: function format(state) { if((state.title === undefined || state.title === "") && (state.text !== undefined && state.text !== "")){ $scope.subclassNameFormat = state.text; }else if((state.text === undefined || state.text === "") && (state.title !== undefined && state.title !== "") ){ $scope.subclassNameFormat = state.title; } } };

здесь getSubclassesUnassigned() извлекает данные с сервера на основе 3 символов i, введенных для поиска: (minimumInputLength: 3),

Вопрос: данные в $scope.superclasses поступают с сервера, завершено (данные JSON, написанные выше). И на мгновение видны полные данные подклассов (когда редактирование ложно) (в этом случае имя подклассов HIN, ENG 101 A). После того, как он formatSelection в " formatSelection " часть "$scope.select2Options" одна из массива "subclasses" будет "$scope.select2Options" и отразится на столбце "subclasses" в сетке (код, который я пишу выше) и покажу только одно имя (либо "HIN" или "ENG 101 A"). Я не знаю, почему он вводится в "formatSelection" часть "select2options" потому что до тех пор, пока поле "edit" будет ложным. (См. В коде div ng-show="!superclasses[row.rowIndex].edit"). Я не знаю, как они отражают данные. и даже полностью удалить данные (2-й объект массива подклассов).

Имеет ту же проблему, когда значение div находится в редактируемом режиме (ng-show="superclasses[row.rowIndex].edit") он показывает только одно значение массива подклассов.

данные после передачи управления из FormatSelection:

{
"data": [{ "name": "new Test", "id": 4506898162253824, "attendanceAllowed": true, "subclasses": [{ "title": "HIN", "children": null, "entityName": "MyClass", "entityId": 5136918324969472 }]
}],
"success": true,
"errorMessage": "" }

Я пробовал все от чтения полного документа. о запросе и formatSelection от select2, но ничего не нашел или ничего не понял, а также поиска в stackoverflow, но не нашел никакой релевантной ссылки или не понял из тех, что уже были на сайте. Я знаю, что это может быть глупый вопрос для некоторых профессионалов, но я начал работать на угловой только 2 дня назад.

Спросите меня в более подробных пояснениях. Я постараюсь предоставить все, что знаю.

Заранее спасибо.

PS: Пожалуйста, игнорируйте мои грамматические ошибки.

1 ответ

Попробуйте этот код перед запросом: в select2Option

initSelection: function (element, callback) {},

Он будет инициализировать ваши данные для select2, которые вы получаете в $ scope.superclasses. Он отлично работает для меня.

licensed under cc by-sa 3.0 with attribution.