【问题标题】:Does the AngularUI typeahead plugin allow any typed value?AngularUI typeahead 插件是否允许任何类型的值?
【发布时间】:2013-03-24 09:11:46
【问题描述】:

我有一个使用Bootstrap typeahead with Angular UI directive。 下拉列表中值的显示和选择工作正常。

但是,当我在输入中键入一个不是下拉选项之一的值时,该值不会绑定到模型属性。然而,我输入的内容仍保留在输入中,就好像它是有效输入一样。

在下面的示例中,当我在输入中键入不是 autocomplete.referrers 数组中的选项的文本时,此文本不会绑定到 registration.referrer。

我是否正确配置了输入?

<input type="text" 
    name="referrer" 
    ng-model="registration.referrer"
    autocomplete="off"
    typeahead="referrer for referrer in autocomplete.referrers | filter:$viewValue"
    />

也许对随机文本输入的限制是设计使然?

如果你能回答这个问题,非常感谢。

【问题讨论】:

  • 这是大多数自动完成的行为方式。请参阅 jqueryUI、bootstrap 等。如果需要清除字段,如果 registration.referrer 为空,则可以创建模糊指令。这是指令的开始:demo

标签: twitter-bootstrap angularjs angular-ui-bootstrap typeahead.js


【解决方案1】:

@reggoodwin 这是当前版本的预输入指令的设计: https://github.com/angular-ui/bootstrap/blob/929a46faa3a3eea3dec7ae8c1387f332eee9a9bc/src/typeahead/typeahead.js#L110

这种行为背后的基本原理是来自自动完成的值应该作为参考值。但我正在思考这种行为,它可以被配置。随时在https://github.com/angular-ui/bootstrap 中打开一个问题以进行更多讨论。

【讨论】:

  • 感谢 pkozlowski.opensource 的澄清。我将打开一个问题,因为可编辑的选择/组合/自动完成很有用。 Ext JS 组合框允许您默认编辑字段值或将可编辑属性设置为 false 以强制从下拉列表中进行选择。
  • 问题已解决!谢谢。 github.com/angular-ui/bootstrap/commit/….
【解决方案2】:

将此指令作为属性添加对我有用:

<input typeahead-editable="false" >

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 2018-03-03
    • 1970-01-01
    • 2014-09-18
    相关资源
    最近更新 更多