2016-07-15 6 views
0

Привет всем У меня есть следующий код, используя Ui-угловой машинописногоИспользования UI-машинописного для заполнения модели с объектом, но показать строку этой модели

<input type="text" ng-model="itemSelected" 
      uib-typeahead="item.name for item in getItems()" id="itemInput" class="form-control"> 

данные, которые getItems() возвратов этой структуры:

[{Itemid: 12345, имя: «название товара»} ....]

Теперь то, что я хотел бы случиться тип вперед, чтобы дать это предложить ионов, показывая item.name (что в настоящее время делает!), однако то, что он делает, это set itemSelected для строки, а не для объекта.

Если я изменяю html таким образом, что понимание списка читает элемент для элемента в getItems() Я получаю typeahead, дающий мне объект (не то, что я хочу), хотя он устанавливает переменную itemSelected в объект моего выбранного типа.

Что я хочу знать, как я могу получить свой торт и съесть его?

Я хотел бы, чтобы typeahead отображал item.name, но мне хотелось бы, чтобы объект был помещен в itemselected.

Я надеюсь, я просто не хватает что-то фундаментальное здесь, любой указывая мое упущение в мышление было бы отлично :)

ответ

3

Вы можете попробовать следующее ... она отлично работает

https://plnkr.co/edit/Zsgw5RKAEi5C2IKLcpGR?p=preview

<div>seleted state: {{state4}}</div> 
     <input type="text" ng-change="onedit()" ng-model="state4" uib-typeahead="state as state.name for state in states | filter:$viewValue | limitTo:8"> 
+0

Я согласен, что он работает нормально, но это не принимает массив объектов, что я и делаю, getItems() в моем примере возвращает массив объектов с элементами itemId и name. Я хочу, чтобы typeahead отображал имя, но я хочу, чтобы модель ввода хранила объект, чтобы я мог позже запросить идентификатор, а не имя элемента. – user1383163

+0

Даже в моем примере это массив объектов ... $ scope.states = [{name: "Pankaj", id: 2}, {name: "Pankaj1", id: 3}, {name: "Pankaj4 ", id: 4}, {name:" Pankaj5 ", id: 5}, {name:" Pankaj6 ", id: 6}, {имя:" Pankaj7 ", id: 7}, {name:" Pankaj8 " , ID: 8}, {имя: "Pankaj9", ID: 9}]; –

+0

У плункера этого нет? – user1383163