如何将标记id传递给onClick中的onClick函数?

时间:2017-06-07 07:58:03

标签: reactjs

我想将标记<th id='1' onClick={this.click.bind(this)}>的id传递给click函数。假设我想在<th>函数console.log中打印click()的id。 这是代码 -

<thead>
 <tr>
    <th id='name' onClick={this.click.bind(this)}>Name</th>
    <th id='phone' onClick={this.click.bind(this)}>Phone number</th>
    <th id='email' onClick={this.click.bind(this)}>Email</th>
 </tr>
</thead>

click()函数 -

click(){
console.log('the clicked id is:') //here i want the id
}

3 个答案:

答案 0 :(得分:0)

绑定参数

this.click.bind(this, 'phone')

click(phone) {
  // ...
}

或使用es6箭头功能

onClick={() => this.click('phone')}

答案 1 :(得分:0)

您可以这样做:

const headers = [
  { id: 'name', label: 'Name' },
  { id: 'phone', label: 'Phone' },
  { id: 'Email', label: 'Name' },
]

const ab = (
  <thead>
    <tr>
      {headers.map(doc => (
        <th onClick={() => { this.click(doc.id) }}>{doc.label}</th>
      ))}
    </tr>
  </thead>
)

答案 2 :(得分:0)

这应该有效:

<tr>
  <th id='name' onClick={this.foo}>Name</th>
  <th id='phone' onClick={this.foo}>Phone number</th>
  <th id='email' onClick={this.foo}>Email</th>
</tr>

onclick功能

   foo=(e)=> {
     console.log(e.target.id);
   }