2017-09-16 7 views
0

ラベルのclickイベントでlabelタグ内のテキストを取得しようとしています。ここに私のコードです。ReactJsのクリックイベントでラベルタグ内のテキストを取得する方法は?

import React from 'react'; 

class Todo extends React.Component { 
    constructor(props) { 
     super(props); 
     this.handleOnClick = this.handleOnClick.bind(this); 
    } 

    handleOnClick(e) { 
     e.preventDefault(); 
     console.log(e.target.value); 
     this.props.onToggle(e.target.value); 
    } 

    render() { 
     return (<div> 
          <label onClick={this.handleOnClick}>{this.props.taskName}</label> 
          <button>Edit</button> 
          <button>Delete</button> 
         </div>); 
    } 
} 

module.exports = Todo; 

ただし、コンソールログには定義されていません。誰もがこの価値を得るためには正しい方法でなければならないことを教えてもらえますか?

+1

'

+0

テキストは 'this.props.taskName'ですか? – FuzzyTree

+0

@Dekel正しい方法は何ですか? –

答えて

0

入力フィールドのみに値があり、ラベルには値がありません。

<label onClick={() => this.handleLabelClick(this.props.taskName)}> 
    {this.props.taskName} 
</label> 

handleLabelClickがパラメータとしてタスク名を持つことになります:あなたはそれを別の方法をしなければならないので、

値は、イベントオブジェクトにはなりません。

+0

あなたはIIFEを回避して、バインディングでパラメータを渡すことができますonClick = {this.handleOnClick.bind(this、props.taskName)} –

関連する問題