私は、それ自身のonClick
ハンドラを持つ特定の子コンポーネントをクリックしない限り、その上の任意の場所をクリックしたときにアクションを実行するコンポーネントを持っています。それらのonClick
ハンドラは、e.stopPropagation
を呼び出すことによって、親が標準アクションを実行するのを防ぐことができます。どのようにして同じようにキャプチャし、のReactSelect
コンポーネントのonClick
イベントにありますか?通常のonClick
ハンドラは呼び出されません。`react-select`コンポーネントで` onClick`イベントの `e.stopPropagation()`を呼び出す方法は?
これは、基本的には(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>
codepenまたはwebpackbinで1つの動作例を設定してください。 –
'onChange'属性を試してください – maioman
@maioman、' onChange'属性は、変更された値を関連するクリックイベントではなく最初の引数として返します –