2014-06-11 19 views
0

對每個handlebars和helpers使用select方法我可以成功地顯示一個數組,只有那些active = true的數組。如何過濾Ember.Select內容,而不是使用{{each}} {{if}}句柄過濾?

<select> 
    {{#each content.users}} 
     {{#if active}} 
      <option value="">{{firstName}}</option> 
     {{/if}} 
    {{/each}} 
</select> 

VS

{{view Ember.Select class='btn btn-default dropdown-toggle' style='max-width: 200px' 
    content=content.users 
    optionValuePath='content.id' 
    optionLabelPath='content.firstName' 
    selectionBinding='someSelectionBinding'}} 

的缺點,以選擇的方式是我無法綁定到期權價值的行動,我失去了一些有用的灰燼選擇的結合和標籤功能/觀察員。 Ember.Select方式的缺點是我無法將我的內容設置爲只有那些擁有活動標誌的用戶。

回答

0

我假設你使用的是最新版本的Ember。在您的控制器,假設有一個content.users定義Ember.ArrayController,你似乎有它,你需要創建一個新的屬性,如activeUsers

App.ThisController = Em.ArrayController.extend({ 
    // Other stuff 
    activeUsers = Em.computed.filterBy('users', 'active', true) 
}) 

這應該給你的用戶的一個數組,其中active屬性true,因此您可以將您的Ember.Select視圖的內容設置爲content.activeUsers

+0

太棒了。我的content.users實際上是通過我的模型傳遞的更大對象內的嵌套數組。添加activeUsers:Em.computed.filterBy('content.users','active',true),我的控制器爲該視圖工作完美。多謝,夥計。 – user2733971