DropdownMenu и DropdownItem onClick с ReactJS / Reactstrap - PullRequest
0 голосов
/ 22 марта 2019

Я хочу иметь выпадающее меню с dropdownItem,

когда я нажимаю на элемент, отображается ссылка на элемент

enter image description here

Но на самом деле, когда я нажимаю, ничего не происходит

функция переключения: обрабатывать раскрывающийся список

handleClick: предполагается напечатать мое событие Ref, но оно никогда не выдавалось

Что я сделал: (я добровольно удаляю некоторый код, чтобы сохранить только цель вопроса, this.props.currentEvents хорошо заполнен)

class DefaultHeader extends Component {

  constructor(props) {
    super(props);

    this.toggle = this.toggle.bind(this);
    this.state = {
      dropdownOpen: false,
      selectedEvents: "Choose Your Event",
    };
  }

  toggle() {
    this.setState({
      dropdownOpen: !this.state.dropdownOpen
    });
  }

  handleClick = (eventRef, name) => {
    console.log('toogle event ref', eventRef);
    this.setState({selectedEvents: name, selectedEventsID: eventRef});
}

  render() {
    const { children, ...attributes } = this.props;
    return (
      <React.Fragment>

        <ButtonDropdown className="info d-md-down-none" display="lg" mobile isOpen={this.state.dropdownOpen} toggle={this.toggle} style={{marginRight: 10}}>
        <DropdownToggle caret>
         {this.state.selectedEvents}
        </DropdownToggle>
        {this.props.currentEvents.map((event, index) => 
           <DropdownMenu key={index}>
              <DropdownItem onClick={this.handleClick.bind(this,event.eventRef, event.name)}>{event.name}</DropdownItem>
           </DropdownMenu>
        ): (<DropdownMenu>
                <DropdownItem>You don't manage any event for the moment</DropdownItem>
           </DropdownMenu>)

      </React.Fragment>
    );
  }
}

Я уже использовал функцию onClick вот так, и она работает, но для dropdownMenu она не работает, похоже, что функция никогда не вызывается или вместо onClickHandle () вызывается toggle,

Какие-нибудь советы по этому поводу?

...