JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/choices.js/3.0.4/choices.js" integrity="sha256-dvGgc5pCu9HxC5R5pdTBm3FLizdgDUOA5iu7TOlVtEc=" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/choices.js/3.0.4/styles/css/choices.css" integrity="sha256-JDRgPmLPsdG/wIG2fjAJxA/KhUJU4+7HblQl5UfgR0c=" crossorigin="anonymous" />
<div>
<select id="sel1">
<option>1</option>
<option value='2' selected>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
</select>
</div>
<br>
<div>
<select id="sel2">
<option>1</option>
<option value='2'>2</option>
<option selected>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
</select>
</div>
JavaScript
choicesInit('select', {searchEnabled: false, shouldSort: false, itemSelectText: ''});
/* Скармливаем селекты библиотеке */
function choicesInit(select, param) {
const elements = Array.from(document.querySelectorAll(`${select}`))
// Если есть атрибут 'data-choice' - значит селект обрабатывался библиотекой - отбасываем его
const item = elements.filter(function (elements) {
if (!elements.getAttribute('data-choice')) { return elements }
});
const instances = item.map((element) => {
return new Choices(element, param)
});
}