我正在使用 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(rows[i])) => 将 json 数据返回给函数。