Ich habe eine Komponente, die eine Aktion ausführt, wenn Sie irgendwo darauf klicken, es sei denn, Sie klicken auf bestimmte untergeordnete Komponenten, die eigene onClick
Handler haben. Diese onClick
Handler können verhindern, dass ihre Eltern die Standardaktion ausführen, indem sie e.stopPropagation
aufrufen. Wie erfasse ich in ähnlicher Weise und stopPropagation()
auf der ReactSelect
Komponente onClick
Ereignis? Der normale onClick
-Handler wird nie aufgerufen. DieseSo rufen Sie `e.stopPropagation()` für das `onClick`-Ereignis mit der` react-select`-Komponente auf?
ist im Grunde die Einrichtung wie beschrieben (ES6):
handleMost = e => {
// Note that I cannot check e.target here, because there is a bunch
// of other stuff that might be the target that still should cause
// the standard action to occur
doStandardThing();
}
handleFoo = e => { e.stopPropagation(); doSomethingFoo(); }}
handleBar = e => { e.stopPropagation(); doSomethingBar(); }}
handleBaz = e => { e.stopPropagation(); doSomethingBaz(); }}
<ListItem onClick={handleMost}>
<Foo onClick={handleFoo}
<Bar onClick={handleBar}
<ReactSelect ?????={handleBaz}
<OtherStuff ...>
</ListItem>
Würdest du bitte ein funktionierendes Beispiel in Codepen oder in webpackbin setzen? –
versuchen 'onChange' Attribut – maioman
@ Maioman, das' onChange'-Attribut gibt den geänderten Wert als erstes Argument zurück, nicht das zugeordnete Klickereignis –