Есть ли способ условно закрыть выпадающий список на основе значения? - PullRequest
0 голосов
/ 21 марта 2020

Я не уверен, что могу классифицировать это как ошибку, но я пытаюсь закрыть раскрывающийся список на основе выбранного значения, и кажется, что для того, чтобы это работало, нужно нажать 2 клика. Поэтому я использую опору closeMenuOnSelect и передаю логическое значение состояния, которое чередуется, если выбрано одно из выбранных значений. Допустим, у меня есть 3 значения (1,2,3), и хотелось бы, чтобы раскрывающийся список закрывался, только если выбрано значение 1. Однако я должен выбрать значение 1 дважды, чтобы раскрывающийся список исчез. Вот быстрый фрагмент: https://codesandbox.io/s/sharp-panini-h3vii

1 Ответ

2 голосов
/ 21 марта 2020

Вы можете использовать комбинацию menuIsOpen и onMenuOpen реквизита для достижения этой цели. closeMenuOnSelect сбрасывается во время события изменения, поэтому, очевидно, при следующем рендере Select он закроет меню при выборе, но текущий выбор не будет.

https://codesandbox.io/s/quirky-bhabha-rnvfp

...