DataCable OnClick выполняет пользовательские функции - PullRequest
0 голосов
/ 17 января 2020

У меня есть приложение с 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 () {

}
...