Модели предварительной загрузки материала Angularjs - PullRequest
0 голосов
/ 10 июня 2018

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

У меня есть мой код таким образом:

<md-input-container>
     <label>Designation</label>
     <md-select
            ng-model="_dt.gradeID"
            md-selected-text="_dt.getSelectedText(_dt.grade, 'destination')"
      name="designation"
      required
      ng-change="_dt.onDesignate(_dt.gradeID)">
      <md-optgroup label="Designation" >
             <md-option
                    ng-value="pos"
                    ng-repeat="pos in _dt.designations">
                    {{pos.gradename}}
             </md-option>
         </md-optgroup>
     </md-select>
</md-input-container>

Вконтроллер У меня есть следующее:

this.$onInit = function () {
      this.user = angular.copy(item)
      // where item is any user that I'm currently editing

      // then I fetch the designation 
      // data from the server
      $category.query({table: 'grades'}, function (res) {
            this.designations = res;
      });

      // then I am trying to pre-populate the grade model, but it doesn't seem to work
      this.gradeID = this.user.gradename;
 } // on init ends

Это функция, которую я вызываю при переключении между значениями

this.onDesignate = function (d) {
      this.user.gradeID = d.gradeID;
      this.grade = d.gradename;
}

Вот функция получения выбранного текста:

this.getSelectedText = function (x, y) {
      if (x !== undefined) {
          return x;
      } else {
          return "Select " + y;
      }
}

Как я могу предварительно заполнить этот md-select?Теперь он не показывает значения, когда я нажимаю на редактировать.Это работает очень хорошо, хотя, если я изменю значение (после того, как оно уже загружено - но тогда пользователь не будет знать, какое значение было раньше) на что-то в списке.

...