web-dev-qa-db-ja.com

取得方法Reactテーブル行データOnclick

こんにちは私は私の反応テーブルの行アイテムのボタンをクリックすると、その行のデータが別のコンポーネントに渡されるように私の反応アプリを設定しようとしています。現在のところ、正しいデータをconsole.logに記録しようとしていますが、クリックに基づいて反応テーブルの行データを渡す方法がわかりません。これどうやってするの?ありがとう

Onclickを渡すデータをトリガーするボタン(詳細ビューの表示)と一緒に状態に保存されているダミーデータ:

    columns: [
      {
        Header: "First Name",
        accessor: "fname"
      },
      {
        Header: "Last Name",
        accessor: "lname"
      },
      {
        Header: "Employee Group",
        accessor: "egroup"
      },
      {
        Header: "Date of Birth",
        accessor: "dob"
      },
      {
        Header: "",
        id: "id",
        Cell: ({ row }) => (
          <button onClick={e => this.handleShow()}>
            Detailed View
          </button>
        )
      },
    ],
    posts: [
      {
        fname: "gerald",
        lname: "nakhle",
        egroup: "faisbuk",
        dob: "8/10/1995"
      }
    ]

テーブルをレンダリングするための私の呼び出し:

<ReactTable columns={this.state.columns} data={this.state.posts}></ReactTable>

私のonclickハンドラー関数ですが、後のテーブル行データにアクセスする方法がわかりません

handleShow(e) {
    console.log(e);
  }
2
Tamjid

行にonClickハンドラーを追加する必要があります

const onRowClick = (state, rowInfo, column, instance) => {
    return {
        onClick: e => {
            console.log('A Td Element was clicked!')
            console.log('it produced this event:', e)
            console.log('It was in this column:', column)
            console.log('It was in this row:', rowInfo)
            console.log('It was in this table instance:', instance)
        }
    }
}

<ReactTable columns={this.state.columns} data={this.state.posts} getTrProps={onRowClick}></ReactTable>

詳細については、この投稿を確認してください 列のreact-tableコンポーネントのonClickイベント

2
Khalid