Экземпляр Choices после инициализации получает набор
методов, которые управляют состоянием списка, выбранными значениями,
поиском, выпадающим меню и внутренним хранилищем. Эти методы образуют
основной программный API библиотеки и позволяют полностью контролировать
поведение селектора без прямого вмешательства в DOM.
Инициализация создаёт объект:
const instance = new Choices(element, options);
После этого доступен набор методов instance.
Метод устанавливает выбранные значения программно.
instance.setValue(['apple', 'orange']);
Поддерживаются:
Используется для синхронизации с внешними данными, например API или формами восстановления состояния.
Возвращает текущие выбранные значения.
const values = instance.getValue();
Параметр valueOnly:
true — возвращает только значенияfalse — возвращает объекты с метаданными (label,
selected, disabled и т.д.)Выбирает элемент списка по значению, если он существует в доступных опциях.
instance.setChoiceByValue('banana');
Используется для точечного выбора без полной замены состояния.
Удаляет выбранные элементы из активного списка.
instance.removeActiveItems();
Параметр excludedItem позволяет сохранить конкретный
элемент при очистке.
Удаляет конкретный выбранный элемент.
instance.removeItem(itemObject);
Обычно используется при кастомной логике удаления тегов.
Более удобная форма удаления по значению:
instance.removeItemByValue('apple');
Добавляет новый выбранный элемент программно.
instance.addItem('pear', 'Pear');
Расширенная сигнатура позволяет:
Полностью или частично задаёт список доступных опций.
instance.setChoices([
{ value: 'ru', label: 'Russia' },
{ value: 'kz', label: 'Kazakhstan' }
], 'value', 'label', true);
Параметры:
choices — массив данныхvalue — поле значенияlabel — поле отображаемого текстаreplaceChoices — заменять ли текущие опцииОчищает список доступных опций, оставляя компонент без вариантов выбора.
instance.clearChoices();
Используется при динамической подгрузке данных.
Полностью очищает внутреннее хранилище библиотеки:
instance.clearStore();
Применяется при полной переинициализации компонента.
Очищает поле ввода поиска.
instance.clearInput();
Часто используется после выбора элемента или сброса формы.
Программно устанавливает фокус на элемент списка.
instance.highlightItem(item);
Параметр runEvent позволяет управлять генерацией событий
при выделении.
Снимает выделение с активного элемента списка.
instance.removeHighlightedItems();
Открывает выпадающий список.
instance.showDropdown();
Используется для программного контроля UI.
Закрывает выпадающий список.
instance.hideDropdown();
Переключает состояние dropdown между открытым и закрытым.
instance.toggleDropdown();
Полностью отключает компонент:
instance.disable();
Возвращает компонент в активное состояние.
instance.enable();
Полностью уничтожает экземпляр Choices:
<select>instance.destroy();
После вызова метод экземпляра больше недоступен для использования.
Метод инициализации вызывается автоматически при создании экземпляра. Отвечает за:
Прямое использование не предусмотрено.
Методы библиотеки тесно связаны между собой: изменение выбранных
значений через setValue, addItem или
setChoiceByValue автоматически приводит к обновлению:
change, addItem,
removeItem)Любое программное вмешательство в состояние компонента проходит через единый слой синхронизации, обеспечивающий согласованность UI и данных.
При включённых режимах:
removeItemButtonsearchEnabledshouldSortduplicateItemsAllowedповедение методов может изменяться:
Методы остаются единым API, но их результат зависит от конфигурации экземпляра.