2016-12-30 4 views
0

これは間違っていますか?イベントターゲット値が定義されていません

<input 
    id="url" 
    type="text" className="form-control" 
    value={url} 
    placeholder="https://example.com" 
    onChange={(e: React.FormEvent<HTMLInputElement>) => this.setState({ 
     url: e.target.value 
    })} 
/> 

私が取得しています:Property 'value' does not exist on type 'EventTarget'

注:コードe.target.valueと間違って何もありません。正しい値が返されます。 React.FormEvent<HTMLInputElement>にはevent.target.valueというプロパティがないので、私の質問はこのイベントの正しい "タイプ"です。

+0

これはあなたが '' e.target.value''を使うことができないことを意味し、 '' e.target.somethingelse''でなければなりません。 –

+0

@DonaldWuはい私はそれを理解しています。 'e.target.value'は存在しません。それは基本的なJSイベントです。私はイベントタイプが何であるか尋ねています – Kousha

+0

私はonChange関数に(e、data)を渡す必要があると思います。 dataパラメータは、要素の値を保持します。 – Prasanna

答えて

0

e.currentTarget.valueをそのまま使用してください。明示的にeと入力する必要はありませんでした。

currentTargetは、常にイベントをバインドする要素になります。 targetは実際にクリックしたものです。詳細はhttp://joequery.me/code/event-target-vs-event-currenttarget-30-seconds/を参照してください。

関連する問題