Я работаю над приложением, которое должно редактировать информацию о пользователях ... Я хочу, чтобы форма предварительно загружалась с любой информацией, которая уже есть в ресурсе ... Итак, есть список пользователей, и когда я нажимаю на редактировать,появится диалоговое окно редактирования, и информация, предварительно выбранная от этого конкретного пользователя, должна быть заполнена в полях формы.
У меня есть мой код таким образом:
<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?Теперь он не показывает значения, когда я нажимаю на редактировать.Это работает очень хорошо, хотя, если я изменю значение (после того, как оно уже загружено - но тогда пользователь не будет знать, какое значение было раньше) на что-то в списке.