Значение в Select с использованием ng-options не заполняется - PullRequest
0 голосов
/ 02 марта 2019

Это базовый запрос, но по какой-то причине он не выполнен и ему нужна помощь.

<select> не заполняет значение при попытке изменить сущность.Он должен показать значение, возвращаемое из db для этого свойства, но это не так, у меня также есть ng-model.Я считаю, что это должно показать ценность донора, но его показ пустым.Также пробовал с ng-model = userDTO.memberType.description.

Где я ошибаюсь?

<select     
    name="memberType"
    class="form-control"
    ng-model="userDTO.memberType"
    ng-options="mt.description for mt in mtList">                           
</select>

Код контроллера:

userService.findUserWithContactAndAddress($stateParams.user).then(
    function(response) {                        
        $scope.userDTO = response;      
        console.log("<<FullUserDetails>>:", response);
}); 

Ответ службы

<<FullUserDetails>>: 
  {id: 77, 
   donorType: {
     id: 2,
     desc: "Organization"
   } 
   memberType: {
     id: 4, 
     description: "Donor",
     $$hashKey: "object:45"
   }, 
   $$hashKey: "object:44"
 }

Просточтобы уточнить, я получаю полный список значений в виде раскрывающегося списка из базы данных, но выбранное значение для конкретного пользователя во время функции editUser не заполняется, а вместо этого MemberType становится пустым.Надеюсь, что все ясно.


$ scope.mtList возвращает

MemberTypes : 
0: {id: 2, description: "CMA Member", $$hashKey: "object:96"}
1: {id: 4, description: "Donor", $$hashKey: "object:97"}
2: {id: 3, description: "Employee", $$hashKey: "object:98"}
3: {id: 6, description: "Other", $$hashKey: "object:99"}
4: {id: 1, description: "Trustee", $$hashKey: "object:100"}
5: {id: 5, description: "Volunteer", $$hashKey: "object:101"}
length: 6
__proto__: Array(0)

1 Ответ

0 голосов
/ 02 марта 2019

Используйте форму select as выражения выбора:

<select     
    name="memberType"
    class="form-control"
    ng-model="userDTO.memberType"
    ̶n̶g̶-̶o̶p̶t̶i̶o̶n̶s̶=̶"̶m̶t̶.̶d̶e̶s̶c̶r̶i̶p̶t̶i̶o̶n̶ ̶f̶o̶r̶ ̶m̶t̶ ̶i̶n̶ ̶m̶t̶L̶i̶s̶t̶"̶
    ng-options="mt as mt.description for mt in mtList">                           
</select>

Для получения дополнительной информации см. Справочник по AngularJS ng-options API - select as

...