如何仅使用属性valid
等于true
的对象填充Ember.js's Select?
带数据的数组(JS):
tickets: [
{
title: 'Pink',
valid: true
},
{
title: 'Blue',
valid: false
}
]
选择(HBS):
{{view Ember.Select
contentBinding = ticket
prompt = "Select ticket"
optionLabelPath ="content.title"
}}
在这种情况下,我想在选项列表中选择仅显示粉红色。
答案 0 :(得分:1)
有几种方法可以解决这个问题,最简单的方法似乎是在将内容传递给ember select之前过滤内容
http://emberjs.jsbin.com/EGORAPI/1/edit
App.IndexController = Ember.ArrayController.extend({
validItems: function(){
return this.filterBy('valid', true);
}.property('@each.valid')
});
答案 1 :(得分:1)
您可以使用Ember.computed.filterBy
过滤掉数据。
validTicket: Ember.computed.filterBy('tickets','valid',true)
并在你的hbs中,
{{view Ember.Select
contentBinding = "validTicket"
prompt = "Select ticket"
optionLabelPath ="content.title" }}