我试图获得棱角分明的形状和角度ui bootstrap typeahead玩得很好。我想要的是从http get请求填充我的选择列表,每次对select字段进行更改时,它应该触发一个函数来获取新的选项列表。
typeahead="address for address in getLocation($viewValue)"
我不确定我是否正确使用了jsbin,但是我们走了。
这是一个单独使用打字机的掠夺者。
我甚至无法触发getLocation函数。我试过vm.getLocation,但没有骰子。
非常感谢帮助!
感谢。 ; - )
答案 0 :(得分:0)
Async select options Watchers Example
最初选项应该是一个空数组,并如上所示传入。然后你需要添加一个观察器来更新$ scope.options.templateOptions.options作为其调用。
但是,我仍然无法使用typeahead来回答功能。在typeahead文档中,您可以使用回调来了解它何时被选中。
typeahead-on-select='onSelect($item, $model, $label)'
永远不会调用控制器中的onSelect函数。
答案 1 :(得分:0)
这是一个工作示例...我将Async formly示例与UI Bootstrap示例结合起来...注意它现在变为item.question for item而不是item for item ...
不确定为什么会这样,我检查了它的格式与Async示例的格式相同...尝试各种方法让它显示完整的JSON对象但没有运气......
如果我将它设置为item for item,则整个JSON对象显示在模型中,但搜索返回[object Object],否则它只是我设置为标签的单行,我猜这是同样的方式它显示正常,所以没关系......
无论如何,它有效
http://plnkr.co/IjuJ0HPGCKfZAOrK0u3z?p=preview
app.run(function(formlyConfig) {
formlyConfig.setType({
name: 'typeahead',
template: '<input type="text" ng-model="model[options.templateOptions.label]" uib-typeahead="item.question for item in to.options | filter:$viewValue | limitTo:15" class="form-control">',
wrapper: ['bootstrapLabel', 'bootstrapHasError'],
});
});