大家好,我有以下代码使用ui-angular typeahead
<input type="text" ng-model="itemSelected"
uib-typeahead="item.name for item in getItems()" id="itemInput" class="form-control">
getItems()
返回的数据属于以下结构:
[{itemId:12345,name:“item of item”} ....]
现在我想要发生的是通过显示item.name
(它目前正在做的)来提供建议的类型:但它的作用是将itemSelected设置为字符串而不是对象。
如果我改变html使得列表理解读取getItems()
中项目的项目我得到了typeahead给我对象(不是我想要的)虽然它确实将itemSelected变量设置为我所选择的对象预输入。
我想知道的是我怎样才能吃蛋糕并吃掉它?
我希望typeahead显示item.name,但我希望将对象项放入itemselected
。
我希望我在这里缺少一些基本的东西,任何指出我的思考失败都会很棒:)
答案 0 :(得分: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">