预输入使用对象名称(Typeahead using object name)

2019-08-31 06:21发布

我试图建立一个typeahead使用AngularJS和UI引导 ,像这样:

html的

<input type="text" ng-model="selectedStuff" typeahead="stuff.name for stuff in stuffs | filter:$viewValue"/>

<span>{{selectedStuff.name}}</span>
<span>{{selectedStuff.desc}}</span>

.js文件

$scope.stuffs= [
                {
                 "name":"thing1",
                 "desc":"this is the first thing"
                },
                {
                 "name":"thing2",
                 "desc":"this is the second thing"
                }
               ]

目前,我已经能够更新与选择的名称型号,但我的目标是沿着通过整个对象传递typeahead 。 有没有干净的方式来做到这一点只用输入?

Answer 1:

当然可以:-)

从预输入指令http://angular-ui.github.io/bootstrap/使用相同的超灵活的语法为AngularJS 选择指令为ng-options 。 所以,你可以写:

typeahead="stuff as stuff.name for stuff in stuffs | filter:$viewValue"

这是一个工作普拉克: http://plnkr.co/edit/5kGZkNPZ7rIFfb4Rvxej?p=preview



Answer 2:

我有同样的问题。 我已经解决了它

typeahead="country.name for country in countryList | filter:$viewValue | limitTo:8"

这里countryList是国家对象的列表。 名称是国家对象的财产之一。 对我来说这是工作的罚款。



文章来源: Typeahead using object name