2017-02-14 4 views
0

Ich habe den folgenden Code in meinem Navbar verschachtelt:Kann ich nicht mehr als einen NavDropdown verwenden?

<Navbar inverse collapseOnSelect fixedTop fluid> 
    <Navbar.Collapse> 
    <Nav onSelect={this.props.onSelect} pullRight> 
     <NavItem eventKey={'navItem1'}>NavItem 1</NavItem> 
     <NavItem eventKey={'navItem2'}>NavItem 2</NavItem> 

     <NavDropdown eventKey={'dropdown1'} title="Dropdown1" id="basic-nav-dropdown"> 
     <MenuItem eventKey={'placeholder1'}>Placeholder</MenuItem> 
     <MenuItem divider /> 
     <MenuItem eventKey={'placeholder2'}>Placeholder</MenuItem> 
     </NavDropdown> 

     <NavDropdown eventKey={'dropdown2'} title="Dropdown2" id="basic-nav-dropdown-2"> 
     <MenuItem eventKey={'placeholder3'}>Placeholder</MenuItem> 
     <MenuItem divider /> 
     <MenuItem eventKey={'placeholder4'}>Placeholder</MenuItem> 
     </NavDropdown> 

     <NavDropdown eventKey={'dropdown3'} title="DropDown3" id="basic-nav-dropdown-3"> 
     <MenuItem eventKey={'placeholder5'}>Placeholder</MenuItem> 
     <MenuItem divider /> 
     <MenuItem eventKey={'placeholder6'}>Placeholder</MenuItem> 
     </NavDropdown> 
    </Nav> 
    </Navbar.Collapse> 
</Navbar> 

Das Problem, das ich bin vor, dass nur Auswahlliste1 die Drop-down zeigt. Wenn Sie sich das Problem mit meinen ChromeTools ansehen, scheint es, dass in den anderen beiden Dropdown-Listen die Klasse "open" nicht hinzugefügt wird.

Irgendwelche Ratschläge?

Antwort

0

Ihre NavDropdown-Komponenten selbst haben keine Ereignisschlüssel, sie haben nur einen Titel und einen ID-Wert. Es sollte so sein:

<NavItem eventKey={1}>NavItem 1</NavItem> 
    <NavItem eventKey={2}>NavItem 2</NavItem> 

    <NavDropdown eventKey={3} title="Dropdown1" id="basic-nav-dropdown"> 
    <MenuItem eventKey={3.1}>Placeholder</MenuItem> 
    <MenuItem divider /> 
    <MenuItem eventKey={3.2}>Placeholder</MenuItem> 
    </NavDropdown> 

    <NavDropdown eventKey={4} title="Dropdown2" id="basic-nav-dropdown-2"> 
    <MenuItem eventKey={4.1}>Placeholder</MenuItem> 
    <MenuItem divider /> 
    <MenuItem eventKey={4.2}>Placeholder</MenuItem> 
    </NavDropdown> 
+0

In meinem nicht-psuedo Code habe ich eventKeys und es funktioniert immer noch nicht. Guter Fang, ich werde meine Frage bearbeiten. –

+0

Ich habe gerade Ihren Code getestet und es funktioniert gut, ich konnte alle 3 Dropdown-Menüs sehen. Ich habe eine Standard-'onSelect'-Funktion verwendet, die nur an der Konsole loggt. Haben Sie die neueste Version des React Bootstrap-Moduls und der CSS-Dateien? Erhalten Sie irgendwelche Konsolenfehler, wenn Sie versuchen, ein Dropdown-Menü zu öffnen? Und was macht Ihre OnSelect-Eigenschaftsfunktion? – Jayce444

+0

Kann bestätigen, dass es auch für mich funktionierte. – Chris

Verwandte Themen