API Programática
Controle completo do Vanilla Smart Select via JavaScript. Manipule seleções, adicione/remova opções dinamicamente, controle o estado do dropdown e muito mais.
Single Select - API Básica
Resultado:
Clique nos botões para testar...
Ver código
HTML
<select id="fruits">
<option value="">Selecione uma fruta...</option>
<option value="apple">Maçã</option>
<option value="banana">Banana</option>
<option value="orange">Laranja</option>
<option value="grape">Uva</option>
</select>
JavaScript
// Criar instância
const fruitsAPI = new VanillaSmartSelect('#fruits', {
searchable: true
});
// Selecionar por valor
fruitsAPI.val('banana');
// Selecionar por ID
fruitsAPI.select('apple');
// Limpar seleção
fruitsAPI.clear();
// Obter valor atual
const value = fruitsAPI.val();
// Obter item completo selecionado
const selected = fruitsAPI.getSelected();
Multi-Select - Adicionar/Remover
Resultado:
Clique nos botões para testar...
Ver código
HTML
<select id="languages" multiple>
<option value="js">JavaScript</option>
<option value="py">Python</option>
<option value="java">Java</option>
<option value="cpp">C++</option>
<option value="rust">Rust</option>
</select>
JavaScript
// Multi-select
const languagesAPI = new VanillaSmartSelect('#languages', {
multiple: true,
searchable: true
});
// Adicionar à seleção
languagesAPI.select('js');
// Remover da seleção
languagesAPI.unselect('js');
// Obter todos os selecionados
const selected = languagesAPI.getSelected(); // Array
Opções Dinâmicas
Resultado:
Clique nos botões para testar...
Ver código
HTML
<select id="dynamic">
<option value="">Selecione...</option>
<option value="opt1">Opção 1</option>
<option value="opt2">Opção 2</option>
</select>
JavaScript
// Adicionar opção
dynamicAPI.addOption({
id: 'new1',
text: 'Nova Opção'
});
// Remover opção
dynamicAPI.removeOption('opt2');
// Obter todos os dados
const data = dynamicAPI.data();
// Definir novos dados
dynamicAPI.data([
{ id: '1', text: 'Item 1' },
{ id: '2', text: 'Item 2' }
]);
Controle de Estado
Ver código
HTML
<select id="state">
<option value="">Selecione...</option>
<option value="1">Item 1</option>
<option value="2">Item 2</option>
<option value="3">Item 3</option>
</select>
JavaScript
// Controlar dropdown
stateAPI.open();
stateAPI.close();
stateAPI.toggle();
// Controlar foco
stateAPI.focus();
// Habilitar/Desabilitar
stateAPI.enable();
stateAPI.disable();
// Verificar estado
const isOpen = stateAPI.isOpen();
Resumo Completo da API
| Método | Descrição |
|---|---|
val(value?) |
Get/set valor por ID |
select(id) |
Seleciona item por ID |
unselect(id) |
Remove seleção (multi-select) |
getSelected() |
Obtém item(s) selecionado(s) completo(s) |
clear() |
Limpa seleção |
data(data?) |
Get/set todos os dados |
addOption(option) |
Adiciona opção dinamicamente |
removeOption(id) |
Remove opção por ID |
open() |
Abre dropdown |
close() |
Fecha dropdown |
toggle() |
Alterna aberto/fechado |
focus() |
Foca no select |
enable() / disable() |
Habilita/desabilita |
isOpen() |
Verifica se está aberto |
destroy() |
Destrói a instância |