@ckatala

Как закрыть toggle?

Как закрыть toggle при нажатии в любое место?
Чтоб закрытие работало везде где бы я ни нажал, а не только на этот же див
constructor(props) {
    super(props);
    this.state = {
      etc_dropdown_toggle: false
    }
  }
  handle_etc_dropdown_toggle = () => {
    this.setState(prevstate => {
      return {
        etc_dropdown_toggle:
          prevstate.etc_dropdown_toggle === true ? false : true
      }
    })
  }

Далее
<div className='etc_control' onClick={this.handle_etc_dropdown_toggle}></div>
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
@medin84
software developer
Подписывайтесь на событие клика окна.
https://codesandbox.io/s/w2orr6nmzl
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
hzzzzl
@hzzzzl
наверно пробрасывать propsы из родительских компонентов, и уже там отлавливать onClick и сохранять типа toggleOpened = true... ну или Redux, хотя если этих тогглов на странице куча, но наверняка есть другой метод поизящнее
Ответ написан
Комментировать
@davidnum95
Рисуем под кнопкой прозрачный div с position: "fixed" и растягиваем его на всю страницу, по клику на него вызываем toggle
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы