为了填充选择,您应该将 {{#each}} 更改为选择,如下所示。
<select>
<option disabled selected>Choose option</option>
{{#each company}}
<option>{{category}}</option>
{{/each}}
</select>
因为如果你把{{#each}}
在顶部<select>
标签流星将为每个公司创建 1 个选择。
公司帮手应该像一个简单的人一样简单return company.find();
现在,如果您想过滤,有很多选项可以完成此操作,其中之一就是这个。
我喜欢用ReactiveDict();,所以我将在这个例子中使用。
安装它meteor add reactive-dict
Template.example.onCreated(function(){
var self = this;
self.example = new ReactiveDict();
self.example.setDefault( 'valueToFilter' , null);
});
现在在一些事件上,比如change
, 请执行下列操作。
Template.example.events({
'change select' : function( event, template ) {
var instance = Template.instance();
instance.example.set( 'valueToFilter' event.target.value ); //or use $('select').val() whatever you like to take the value;
}
})
现在展示结果。
Template.example.helpers({
showSelectedValues : function(){
var instance = Template.instance();
return Companies.find( { name : instance.example.get( 'valueToFilter' )} );
}
})
这应该会给你一个大局观,祝你好运!