NavDropdown не открывается после выбора дочернего элемента на мобильных / планшетных устройствах - PullRequest
0 голосов
/ 02 июля 2018

У меня есть раскрывающееся меню, созданное с использованием реакции-начальной загрузки. Текущий не открывается второй раз после выбора опции из выпадающего списка. Пользователь должен щелкнуть меню где-нибудь, чтобы оно снова заработало. Кажется, что меню сохраняет состояние от первоначального щелчка, что означает, что оно не работает во второй раз.

Это относится только к мобильным устройствам, отлично работает на немобильных устройствах.

См. Код для меню ниже:

            <NavDropdown
          onToggle={this.onToggle}
          onMouseEnter = { () => this.setState({ isOpen: true }) }
          onMouseLeave = { () => this.setState({ isOpen: false })  }
          open={ this.state.isOpen }
          noCaret
          eventKey={3}
          title="Account"
          id="nav-mega-dropdown"
        >
            <LinkContainer to="/app/account" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.1}>Public Profile</NavItem></LinkContainer>
            { this.props.isSupplier ? <LinkContainer to="/app/account/business" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.2}>Business Details</NavItem></LinkContainer> : null }

            <LinkContainer to="/app/account/schedule" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.3}>Schedule</NavItem></LinkContainer>
            { this.props.isSupplier ? <LinkContainer to="/app/account/users" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.4}>Users</NavItem></LinkContainer> : null }

            <LinkContainer to="/app/account/sessions" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.5}>Sessions</NavItem></LinkContainer>
            { this.props.isSupplier ? <LinkContainer to="/app/account/subscription" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.6}>Subscription</NavItem></LinkContainer> : null }

            <LinkContainer to="/app/account/locations" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.7}>Locations</NavItem></LinkContainer>
            <LinkContainer to="/app/account/settings" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.8}>Password</NavItem></LinkContainer>

            <LinkContainer to="/app/account/holidays" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.9}>Holidays</NavItem></LinkContainer>
            { this.props.isSupplier ? <LinkContainer to="/app/account/visibility" onClick={() => this.setState({ isOpen: false })}><NavItem eventKey={3.10}>Visibility</NavItem></LinkContainer> : null }

        </NavDropdown>
...