Olá. Estou com o seguinte código tentando usar o AutoComplete (não funcionou como código no editor deste site):
var operacoesDoCentroDeCusto = [];
result.forEach(function(value){
operacoesDoCentroDeCusto.push(value.nomeOperacao); });
FLUIGC.autocomplete('#inputOperacaoNome', {
source: substringMatcher(operacoesDoCentroDeCusto),
displayKey: 'description', name: 'operacoes', allowDuplicates: true,
hint: true,
tagClass: 'tag-gray',
type: 'tagAutocomplete'
}); ```
Mas ele nunca encontra quando digito no input. O que estou fazendo de errado?
A solução que precisei fazer foi a seguinte:
A estrutura do meu código estava errada. Então decidi criar a seguinte função para tratar o autocomplete
function inicializarAutoCompleteOperacoes(){
//a variavável operacoes é um array que é preenchido em outra função
//Tive que fazer desse jeito senao o autoComplete nao funcionava!
if (operacoesAutoComplete !== undefined){
operacoesAutoComplete.destroy();
operacoesAutoComplete = undefined;
}
operacoesAutoComplete = FLUIGC.autocomplete("#inputOperacaoNome", {
source: substringMatcher(operacoes),
displayKey: 'description',
allowDuplicates: false,
hint: true,
tagClass: 'tag-gray',
type: 'autocomplete'
});
}
Acontece que eu precisava chamar o autoComplete logo após que o usuário mudasse o valor de um input específico. Mas parece que precisa recriar o autocomplete.
Após preencher o array de operações (em outra função) com vários nomes, eu simplesmente chamo essa função inicializarAutoCompleteOperacoes() e deu certo