@sivic
инженер-программист 2 кат.

React. как не закрывать DropDown после нажатия по меню?

Использую библиотеку airframe , компонент UncontrolledDropdown. После действия с пунктами ( изменяем checkbox) закрывается список, не могу сделать так, чтобы он оставался открытым.

<UncontrolledDropdown className="ml-auto  mt-1">
              <DropdownToggle color="secondary">
                <FontAwesomeIcon icon="bars" fixedWidth />
              </DropdownToggle>
              <DropdownMenu right positionFixed>
                <DropdownItem name="simpleLine" id="simpleLine" onClick={this.handleChangeCheck}>
                  <CustomInput
                    type="checkbox"
                    name="simpleLine"
                    id="simpleLine"
                    defaultChecked={graphState.simpleLine}>
                    Статистика выполнения заказов
                  </CustomInput>
                </DropdownItem>
                <DropdownItem name="maket802" id="maket802" onClick={this.handleChangeCheck}>
                  <CustomInput
                    type="checkbox"
                    name="maket"
                    id="maket802"
                    defaultChecked={graphState.maket}>
                    802 Макет
                  </CustomInput>
                </DropdownItem>
</DropdownMenu>
</UncontrolledDropdown>

  handleChangeCheck(event) {
    event.preventDefault();
    let graphState = this.state.graphState;
    const name = event.currentTarget.name;
    if (name === 'simpleLine') graphState.simpleLine = !graphState.simpleLine;
    if (name === 'maket') graphState.maket802 = !graphState.maket;
    this.props.onChangeGraphState(event, graphState);
    event.stopPropagation();
  }


пропс ссылается на обработчик для родителя
handleChangeGraphState(event, newState) {
    event.preventDefault();
    localStorage.setItem('graph', JSON.stringify(newState));
    this.setState({ graph: newState });
    event.stopPropagation();
  }

Подскажите пожалуйста как решить данную проблему.
  • Вопрос задан
  • 33 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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