我必须在Ember中使用 autocomplete 创建 TextField ,以便在每次按键时根据匹配从数据库中获取数据。
他们的任何内置小部件都在Ember中吗?
答案 0 :(得分:8)
您可以使用Ember.Textfield事件来执行此操作。 (Coffeescript和Jade)
搜索视图
App.SearchView = Ember.View.extend
templateName: 'search'
searchTerm: null
searchTextField: Ember.TextField.extend
insertNewline: ->
# if the user hits the enter key, you can do something different or call the same function
@get('controller').search(@get('searchTerm'))
keyUp: (e) ->
# validate the item on every keypress
if (e.currentTarget.value.length > 0)
@get('controller').search(@get('searchTerm'))
搜索模板
script(type='text/x-handlebars', data-template-name='search')
{{view view.searchTextField valueBinding="view.searchTerm" placeholder="search"}}
<button {{action "search"}}>search</button>
搜索控制器
App.SearchController = Ember.ObjectController.extend
search: (searchTerm) ->
# do your search
**添加了缺失的括号
答案 1 :(得分:3)
EmberCasts在how to build an auto complete widget上有一个很好的视频。
I asked them about the millisecond delay关于过滤,我被告知他们将在下一集中介绍它。
答案 2 :(得分:2)
Ember.js中没有内置组件,但根据经验,这样的组件很容易自己编写。关于EmberCamp Trek Glowacki说他希望不再需要任何小部件库。
你也可以使用Twitter Bootstrap中的Typeahead或jQuery UI中的AutoComplete,它们可以一起工作。
答案 3 :(得分:0)
The github project ember-typeahead也在这方面有了一个良好的开端。