я изменяю состояние, добавляется класс, и он сворачивается.
Когда я хочу выбрать какой-то из элементов, что-бы записать его значение в состояние, onBlur срабатывает быстрее, и из-за этого onClick на элементе не выполняется. Я поставил setTimeout с задержкой 100ms на событие onBlur, и это работает, но насколько это правильно? А то мне кажется это костылём
Недавно тоже столкнулся. Так и оставил, ничего лучше не нашел
Это тестовое, не хотелось бы))
Напиши плз если что-то придумаешь. Я потратил некоторое время на поиски решения, но безуспешно)
😉👍
можешь таймаут 0 поставить, все равно должно работать.
Тоже так думал, но нет
странно, таймаут падает в низ потока
Тоже пробовал, не работает)
Для блюра останови фазу погружения.
Можешь кинуть пример на codesandbox?) Постараюсь решить твою проблему.
stopPropogation ?
Мне самому интересно) я поделюсь кодом как решу)) Кстати, возможно, setTimeout 0 не срабатывает потому что функция возвращаемая useState асинхронная?
Да. Если не поможет, то надо блюр повесить не на кнопку, а на весь селект, у тебя див. Тогда еорм должно быть.
Попробую, спасибо
Нашлось решение?
На самом деле оставил как есть
😅 блин
Нашел решение, гуглится как onclick onblur orderding. Нужно просто click заменить на mouseDown, оно раньше чем блюр срабатывает
Кейборд срабатывает на уровне железа))
Запомнить надо бы. Времени всрато в поиски ))
Обсуждают сегодня