sql >> Base de Datos >  >> NoSQL >> MongoDB

Complete el campo de selección de la colección y filtre de acuerdo con el valor seleccionado en Meteor

Bueno, para completar la selección, debe cambiar {{#each}} a la selección, así.

<select>
  <option disabled selected>Choose option</option>
{{#each company}}
  <option>{{category}}</option>
{{/each}}
</select>

Porque si pones el {{#each}} en la parte superior de <select> tag meteorito creará 1 selección para cada empresa.

Y el ayudante de la empresa debe ser simple como un simple return company.find();

Ahora, si desea filtrar, hay muchas opciones para lograrlo, una podría ser esta.

Me gusta usar ReactiveDict(); , así que lo usaré en este ejemplo.

Instálalo meteor add reactive-dict

Template.example.onCreated(function(){
 var self = this;

 self.example = new ReactiveDict();

self.example.setDefault( 'valueToFilter' , null);
});

Ahora en algún evento como change , haz lo siguiente.

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;
  }
})

Ahora muestra los resultados.

Template.example.helpers({

 showSelectedValues : function(){

  var instance = Template.instance();

  return Companies.find( { name : instance.example.get( 'valueToFilter' )} );
 }
})

Esto debería darte una idea general, ¡buena suerte!