У меня есть приложение с React, Spring и Datatables (мое требование). Я могу извлечь информацию на основе строки, по которой щелкнули. Моя таблица - это отдельный компонент, который является дочерним по отношению ко всем другим компонентам, которым нужна таблица (они просто передают соответствующие столбцы и данные в подпорки, и это работает). Теперь я хотел бы иметь функцию, которая обновляет состояние родительского компонента при нажатии на строку таблицы. В моем компоненте Table я создаю что-то вроде этого:
updateIndex = (index) => {
this.props.updateSelectedIndex(index);
}
, а затем:
componentDidMount() {
var table = $(this.refs.main).DataTable({
dom: '<"data-table-wrapper"t>',
data: this.props.data,
columns: this.props.columns,
ordering: false,
select: 'single'
});
$(this.refs.main).on('click', 'tr', function () {
var index = table.row(this).index();
item = table.row(this).data()
updateIndex(index);
console.log(index)
console.log(item)
});
}
Но он говорит, что моя функция - это не функция и все такое. Я понимаю, что должна быть проблема с этим, но я не знаю, как сделать мою функцию узнаваемой внутри
$(this.refs.main).on('click', 'tr', function () {
}