Для точки 1: (открытие раскрывающегося списка в JS)
Вам нужно будет передать его classNamePrefix='someCustomClass'
<Select classNamePrefix='list' options={[{ label: 'one', value: 'one' }]} />
classNamePrefix необходим, чтобы дать вам все обработчики классато есть list__control
, list__option
..
Тогда вам нужно вызвать событие мыши на раскрывающемся индикаторе:
function triggerMouseEvent (node, eventType) {
var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent (eventType, true, true);
node.dispatchEvent (clickEvent);
}
triggerMouseEvent($('div.list__dropdown-indicator'), 'mousedown');
Это должно открыть раскрывающийся список для вас.
Возможно, вы захотите изменить $('div.list__dropdown-indicator')
на что-то вроде document.getElementsByClassName('list__dropdown-indicator')[0]
, но я думаю, вы понимаете суть.
Для пункта 3:
Как только выОткрыв раскрывающийся список, вы можете нажать на один из вариантов, например, такой как первый вариант:
document.getElementsByClassName('list__option')[0].click();
Кстати: если вам не обязательно открывать раскрывающийся список с помощью JS, вы всегда можетедобавьте menuIsOpen prop к компоненту реагировать на выбор.