Ember.js 使用自动完成创建文本字段

Ember.js 使用自动完成创建文本字段,ember.js,Ember.js,我必须在余烬中使用autocomplete创建一个文本字段,以便根据匹配从数据库中获取数据 他们的Ember中有内置的小部件吗?Ember.js中没有内置组件,但根据经验,自己编写这样的组件非常容易。在《恩伯坎普之旅》中,格罗沃基说,他希望永远不需要小部件库 您还可以从Twitter引导中使用Typeahead,或者从jQuery UI中使用AutoComplete,这可以使它们协同工作。您可以使用Ember.Textfield的事件来完成此操作。(咖啡与翡翠) 搜索视图 App.SearchV

我必须在余烬中使用autocomplete创建一个文本字段,以便根据匹配从数据库中获取数据


他们的Ember中有内置的小部件吗?

Ember.js中没有内置组件,但根据经验,自己编写这样的组件非常容易。在《恩伯坎普之旅》中,格罗沃基说,他希望永远不需要小部件库


您还可以从Twitter引导中使用Typeahead,或者从jQuery UI中使用AutoComplete,这可以使它们协同工作。

您可以使用Ember.Textfield的事件来完成此操作。(咖啡与翡翠)

搜索视图

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>

**添加了缺少的括号

EmberCasts播放了一段精彩的视频


关于过滤,我被告知他们将在下一集中介绍这一点。

在这方面也有一个良好的开端。

有没有好办法在搜索上增加300毫秒的延迟?我正在过滤一个半大的DOM列表,我不希望余烬试图过滤输入的任何字符。如果客户试图键入名称。我想过滤之间的最小延迟可能会有所帮助。是的,我可以很快将其添加到代码中。但是,基本上,您可以在javascript中设置一个计时器来运行搜索功能,如果出现另一个按键,您可以取消该计时器,然后设置另一个。这样,快速键入不会每次都会导致搜索,但键入时x的中断会导致搜索。@ootoovak在调用
Ember.run.debounce
或Lodash的
\uu.debounce
时将
keyUp
的正文包装起来。很遗憾,EmberCasts似乎没有添加新的视频,您所指的视频很快,很容易实现,谢谢。如果有人想寻求解决方案,这里有一个答案。
App.SearchController = Ember.ObjectController.extend

  search: (searchTerm) ->
    # do your search