一尘不染

使用对象名称预先输入

angularjs

我正在尝试像这样typeahead使用AngularJSUI
Bootstrap
设置:

.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。有一种干净的方法可以仅使用输入来执行此操作吗?


阅读 337

收藏
2020-07-04

共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

2020-07-04