получить spesifi c идентификатор клиента из таблиц реагировать- bootstrap -table2-инструментарий - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь получить идентификатор клиента из таблиц, и после этого я хочу использовать этот идентификатор для запроса к моему API.
но у меня есть стек, я не понимаю, как передать идентификатор клиента в метод logi c updateCustomer (customerId) и deleteCustomer (customerId)


версия моих зависимостей:

    "react": "^16.5.2",
    "react-bootstrap-table": "4.1.5",
    "react-bootstrap-table-next": "^3.0.0",
    "react-bootstrap-table2-paginator": "^2.0.3",
    "react-bootstrap-table2-toolkit": "^1.3.1",

это мои столбцы в ToolkitProvider :

{
              dataField: 'action',
              text: 'Action',
              formatter: (cell, row, rowIndex, formatExtraData) => { 
                  console.log(row);
                  const customerId = row._id;
                  return ( 
                    <div >
                      <span className="mr-1">
                        <a onClick={this.updateCustomer(customerId)} className="text-warning">update</a>
                      </span>
                      <span className="ml-1">
                        <a onClick={this.deleteCustomer(customerId)} className="text-danger">delete</a>
                      </span>
                    </div> 
                  )
                },
            }

метод my logi c только для проверки, был ли принят идентификатор пользователя:

  updateCustomer = (id) => {
    return alert('ok your id: '+id)
  }
  deleteCustomer = (id) =>{
    return alert('ok your id: '+id)

и это мои Таблицы действий выглядят так:

enter image description here

но когда я нажимаю на него, я получаю только повтор оповещений столько же, сколько данных о клиенте в таблице.



как мне получить правильный идентификатор в методе, который я предоставляю? Я стек.

Надеюсь, вы можете мне помочь, спасибо:)

1 Ответ

0 голосов
/ 23 марта 2020

наконец я могу решить эту проблему самостоятельно. Я просто меняю onClick={this.updateCustomer(customerId)} на onClick={() => this.updateCustomer(customerId)}

возможно, это означает: «просто запустите функцию после действия»

{
              dataField: 'action',
              text: 'Action',
              formatter: (cell, row, rowIndex, formatExtraData) => { 
                  console.log(row);
                  const customerId = row._id;
                  return ( 
                    <div >
                      <span className="mr-1">
                        <a onClick={() => this.updateCustomer(customerId)} className="text-warning">update</a>
                      </span>
                      <span className="ml-1">
                        <a onClick={() => this.deleteCustomer(customerId)} className="text-danger">delete</a>
                      </span>
                    </div> 
                  )
                },
            }

, и я больше не получу повторных предупреждений:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...