Ich habe mehrere benutzerdefinierte Build Dropdown-Komponente von reagieren auf einer Seite. Ich auslösen den Listeneintrag setState mit öffnenKlicken Sie auf eine beliebige Stelle, um Drop-Down in Reaktion zu schließen
toggleDropdown = (id) => {
this.setState(prevState => ({
[`dropdown${name}`]: !prevState[`dropdown${id}`] //dropdownA, dropdownB, dropdownC and so on
}))
}
das wird es auch wechseln, wenn der Drop-Down geklickt wurde, wenn das Menü geöffnet ist. Aber dann habe ich noch ein paar Dropdowns, ein anderes Dropdown wird nicht geschlossen, wenn ich ein Dropdown öffne, wie löst man das? Ich mache eine "hacky" Art und Weise zu reagieren mit jquery in ComponentWillMount, Bindung Click-Ereignis auf Körper, überprüfen Sie, ob das Dropdown-Element sichtbar ist, wenn ja, schließen Sie es.
Meine Frage ist, gibt es eine bessere Praxis zu vermeiden, mit Jquery?
können Sie ein Beispiel für Ihre app.js zur Verfügung stellen? –