Galera
Estou tentando chamado uma função na minha widget dentro do evento de gatilho do FLUIG.Filter mas ele não reconhece a função this.getListaAgendas sendo que essa função eu chamo no init antes mesmo do cara preencher o filter na widget. Porque será o erro?
var filtro = FLUIGC.filter('#busca_'+ this.instanceId, unidadesDataset);
filtro.on('fluig.filter.item.added', function(ev) {
var items = filtro.getSelectedItems();
this.filtroUnidade = items;
this.getListaAgendas();
});
Se não me engano esse evento é disparado via JQuery e essa biblioteca força o this
a referenciar o elemento que gerou o disparo do evento.
Uma solução que acredito que funcione é declarar uma variável auxiliar pra ser a referência à widget e usá-la dentro do evento disparado. Ou talvez simplesmente usar arrow function, já que elas não possuem this instanciado (mas não sei se funcionaria).
const self = this;
filtro.on('fluig.filter.item.added', function(ev) {
var items = filtro.getSelectedItems();
self.filtroUnidade = items;
self.getListaAgendas();
});
ou talvez assim, mas precisaria testar.
filtro.on('fluig.filter.item.added', ev => {
var items = filtro.getSelectedItems();
this.filtroUnidade = items;
this.getListaAgendas();
});
Ambas alternativas funcionaram, obrigado!
1 curtida