5

我正在尝试将 Angular-Formly 与使用 $http 的 Angular ui-select 一起使用以获得结果。

当用户输入时,选项应该会刷新。当我从另一个文本输入中设置模型时,ui-select 会正确更新并根据输入到文本框中的内容显示相应的结果。

但是,当我直接在 ui-select 框中键入时,我没有取回值,并且 templateOptions.options 函数不会触发并且$viewvalue不会更新。

我似乎也无法访问$select.search已更新但在 expressionProperties 中不可用的结果。

请参阅以下重现错误的 JSBin:

http://jsbin.com/peducofaje/edit

我会很感激这方面的帮助。

4

1 回答 1

4

我为你准备了一份早期的圣诞礼物。我已经更新了 ui-select 示例以获得您想要的内容:-) 关于为什么您的示例不起作用的一些说明:

  • expressionProperties 仅在formStateormodel更改时运行,这是一种减少观察者数量的优化(因为所有 expressionProperties 共享一个观察者)。问题是,您的模型直到选择了一个选项后才会更新,所以是的。
  • 模板使用的是group-By,但templateOptions没有groupBy. 如果 上存在一个,您可以使用 atemplateManipulator动态添加一个,但我的解决方案没有证明这一点。group-bytemplateOptions
  • 您没有处理地址搜索为空的情况

另外,请查看顶部的注释:

// NOTE: This next line is highly recommended. Otherwise Chrome's autocomplete will appear over your options!
formlyConfig.extras.removeChromeAutoComplete = true;

我希望这是有帮助的!

于 2015-08-07T11:49:19.320 回答