Javascript 双击剑道网格行';反应组分的s
我正在使用React Grid组件,我正在寻找一种在双击一行时启动函数的方法 我发现了一个Javascript 双击剑道网格行';反应组分的s,javascript,reactjs,kendo-ui,kendo-grid,kendo-react-ui,Javascript,Reactjs,Kendo Ui,Kendo Grid,Kendo React Ui,我正在使用React Grid组件,我正在寻找一种在双击一行时启动函数的方法 我发现了一个rowClick函数,现在我可以使用它来选择一行或处理onClick事件:yourFunction(e)}>。 但是没有处理双击事件的函数 这是我的方法,我将一个onDoubleClick()函数作为道具传递给我的组件,并将其与componentDidMount上的doubleClick侦听器绑定到每一行: componentDidMount() { let { onDoubleClick } =
rowClick
函数,现在我可以使用它来选择一行或处理onClick事件:yourFunction(e)}>
。
但是没有处理双击事件的函数
这是我的方法,我将一个onDoubleClick()
函数作为道具传递给我的组件,并将其与componentDidMount上的doubleClick
侦听器绑定到每一行:
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());
}
}
}
componentDidMount(){
让{onDoubleClick}=this.props;
如果(onDoubleClick){
常量行=文档
.getElementsByClassName('k-widget k-grid')[0]
.getElementsByClassName('k-grid-table')[0]
.getElementsByTagName('tbody')[0]
.getElementsByTagName('tr');
for(设i=0;ionDoubleClick());
}
}
}
目前这是可行的,但我无法将单击的行数据传递给我的函数。
是否存在使用元素检索行数据的黑客行为?
例如:onDoubleClick(kendo.data.DataSource(rows[i])=>返回json数据以运行。网格有一个属性,可以用作完全修改行的工具,包括使用本机React方法将行附加到rowClick
rowRender(trElement, dataItem) {
const trProps = {
...trElement.props,
onDoubleClick: () => {
//place your logic here
}
};
return React.cloneElement(trElement, { ...trProps }, trElement.props.children);
}
您可能会发现这个生动的示例,介绍了如何在onDoubleClick的相同逻辑中为GridRow附加鼠标向下、模糊和聚焦,就像我在上面截取的代码中使用的一样。在jquery版本中,您可以执行var item=grid.dataItem(grid.select());其中“网格”是对网格小部件的引用。我不知道react api是否相同。