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.