Я использую компонент React Grid и ищу способ запуска функции при двойном щелчке по строке.
Я нашел функцию rowClick
и теперь могу использовать ее для выборастрока или обработчик события onClick: <Grid rowClick={e => yourFunction(e)}>
.Но нет функции для обработки события doubleClick.
Это мой подход, я передал функцию onDoubleClick()
в качестве реквизита для моего компонента и связал ее со слушателем doubleClick
для componentDidMount
длякаждая строка:
componentDidMount() {
let { onDoubleClick } = this.props;
if (onDoubleClick) {
const rows = document
.getElementsByClassName('k-widget k-grid')[0]
.getElementsByClassName('k-grid-table')[0]
.getElementsByTagName('tbody')[0]
.getElementsByTagName('tr');
for (let i = 0; i < rows.length; i++) {
rows[i].addEventListener('dblclick', () => onDoubleClick());
}
}
}
На данный момент это работает, но я не могу передать данные строки, по которой щелкнули, моей функции.Есть ли взломать, чтобы получить данные строки с помощью элемента?Например, вот так: onDoubleClick (kendo.data.DataSource (row [i])) => вернуть данные json в функцию.