Die Liste der Eigenschaften im Dokument enthält keine Informationen onClick
( http://www.material-ui.com/#/components/icon-button ).
Woher weiß ich, dass ich onClick für den Klick-Handler verwenden muss?
reactjs
material-ui
Eugen
quelle
quelle
refs
war es sehr schwierig , so etwas zu verwenden, weil man ungefähr 15 Eigenschaften in einer Hierarchie durchlaufen musste, um ihre zu finden Komponenten und ich brachen immer wieder die Kapselung von Komponenten. Das Problem damit wirdrefs
für Dom-Elemente von Drittanbietern empfohlen. Denken Sie daran, dass dies vor über 3 Jahren war, also hätte sich viel ändern können.Antworten:
In der Material-UI-Dokumentation sind die Standardereignisse React (nativer Browser) nicht aufgeführt:
https://facebook.github.io/react/docs/events.html#mouse-events
Dies liegt daran, dass Sie voraussichtlich bereits über die verfügbaren nativen Ereignisse informiert sind. Zum Beispiel können Sie auch verwenden
onWheel
. Es wäre eine lange und redundante Liste, wenn alle nativen Ereignisse enthalten wären.Wie Kouak erklärt , werden andere Requisiten (wie z. B.
onClick
) an eine relevante untergeordnete Komponente weitergegeben.Zufälliges Beispiel:
<Button color="primary" onClick={() => { console.log('onClick'); }}> Primary </Button>
quelle
Sie können einen Wrapper über das hinzufügen, um das
<IconButton/>
zu erhaltenonClick
Ereignis abzurufen.Beispiel
render() { return <div class="font-icon-wrapper" onClick={this.fontIconClick}> <IconButton iconClassName="muidocs-icon-custom-github" /> </div> }
Das sollte auf jeden Fall funktionieren ...
quelle
onClick
Fügen Sie einfach die Requisiten hinzu, in die Sie weitergeben<IconButton />
.Requisiten, die nicht im Dokument aufgeführt sind, werden an ihre interne
<EnhancedButton />
Komponente weitergegeben, die problemlosonClick
funktioniert.Siehe hier: https://github.com/callemall/material-ui/blob/master/src/IconButton/IconButton.js#L241
quelle
Denken Sie daran, dass Sie onClick in jeder einzelnen Komponente verwenden können, die über einen DOM-Renderer verfügt, da es sich um ein natives React-Ereignis handelt (es muss keine Schaltflächenkomponente sein).
Beispiel 1:
<Paper className={classes.paper} onClick={() => { alert("✔️ This works on every component!"); }} > Click me! </Paper>
Beispiel 2:
⬇ Online damit spielen ⬇
quelle
Umgang mit Klicks
Alle Komponenten akzeptieren einen
onClick
Handler, der auf das Stamm-DOM-Element angewendet wird.<Button onClick={() => { alert('clicked') }}>Click me</Button>
Beachten Sie, dass in der Dokumentation vermieden wird, native Requisiten (es gibt viele) im API-Abschnitt der Komponenten zu erwähnen. API für Button
quelle