Я использую ui-select в Angular для выбора поля на моей странице. Я могу выполнить поиск, набрав, и когда я выберу значение, будет отображаться имя [Которое хорошо], а в ng-модели есть выбранные значения id [это также верно]Угловое ui-select по умолчанию выбранное значение
Теперь я пытаюсь загрузить представление уже сохраненная запись. Я хочу, чтобы выбранный ящик был предварительно заполнен.
Но это не так!
Это мой HTML
<ui-select ng-model="vm.product.category">
<ui-select-match placeholder="Type to search">{{ (vm.categories | filter : { id : vm.product.category } : true)[0].name }}</ui-select-match>
<ui-select-choices repeat="category.id as category in (vm.categories | filter: {name: $select.search})">
<span ng-bind-html="category.name | highlight: $select.search"></span>
</ui-select-choices>
</ui-select>
Вот мой контроллер,
app.controller('productDetailsController', [
'$scope', 'Product',
function ($scope, Product) {
var vm = this;
vm.product = {};
vm.categories = [{name: "General", id: "1"}, {name: "Product", id: "2"}]
Product.get({id: id}).$promise.then(function (data) {
vm.product = data.data;
}, function (error) {
alert(error);
});
}
]);
Когда я загружаю запись из базы данных моей модели() имеет идентификатор. но я хочу, чтобы имя отображалось пользователю.
Как я могу это сделать? Что я делаю неправильно здесь?
Заранее благодарен!
Спасибо за ответ. Да, когда данные загружаются, я присваиваю ключу «vm.product.category». Когда я заполняю 'vm.product' данными из базы данных, я не вижу имя категории для данного идентификатора в селекторе. – masterFly
какие данные содержат? – ram1993
Будет более полезно понять вашу проблему. – ram1993