使用 ui-typeahead 用对象填充模型但显示该模型的字符串
Using ui-typeahead to populate model with object but show string of that model
大家好我有以下代码使用ui-angular typeahead
<input type="text" ng-model="itemSelected"
uib-typeahead="item.name for item in getItems()" id="itemInput" class="form-control">
getItems()
returns的数据是这样的结构:
[{itemId : 12345, name : "name of item"} ....]
现在我想要的是通过显示 item.name
来给出建议的类型(它目前正在做!)但是它所做的是将 itemSelected 设置为字符串而不是对象。
如果我更改 html 以便列表理解读取 getItems()
中的项目,我得到预先输入的对象(不是我想要的),尽管它确实设置了 itemSelected 变量到我选择的预先输入的对象。
我希望 typeahead 显示 item.name,但我希望将对象项目放入 itemSelected
。我怎样才能做到这一点?
您可以尝试以下...效果很好
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">
大家好我有以下代码使用ui-angular typeahead
<input type="text" ng-model="itemSelected"
uib-typeahead="item.name for item in getItems()" id="itemInput" class="form-control">
getItems()
returns的数据是这样的结构:
[{itemId : 12345, name : "name of item"} ....]
现在我想要的是通过显示 item.name
来给出建议的类型(它目前正在做!)但是它所做的是将 itemSelected 设置为字符串而不是对象。
如果我更改 html 以便列表理解读取 getItems()
中的项目,我得到预先输入的对象(不是我想要的),尽管它确实设置了 itemSelected 变量到我选择的预先输入的对象。
我希望 typeahead 显示 item.name,但我希望将对象项目放入 itemSelected
。我怎样才能做到这一点?
您可以尝试以下...效果很好
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">