You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Telerik Kendo React Grid嵌套表格事件冒泡携带错误元数据问题

Telerik Kendo React Grid嵌套表格选中事件异常问题

问题描述

在Telerik Kendo React Grid的详情行中嵌入另一个表格(通过detailRow={MyCoponentWithAnotherGrid}配置),点击内部表格的行时,外部表格会触发onSelectionChange事件。虽然事件冒泡属于正常行为,但外部表格事件的endRowIndex属性携带的是内部表格行的索引,调用getSelectedState方法时,外部表格会选中与内部表格点击行索引一致的条目(例如点击内部Item 1.2,外部会选中Item 2)。

是否为Bug?

这属于Kendo React Grid的设计缺陷,可认定为Bug。嵌套表格场景下,组件未正确区分事件源所属的表格,导致内部表格的行索引被错误传递给外部表格的选中逻辑,完全不符合预期交互。建议通过Telerik官方渠道提交该Bug反馈。

临时解决方案:阻止事件冒泡

可以通过阻止事件冒泡作为临时修复方案,在内部表格的行交互事件中切断事件向外部表格的传递。

实现示例

在内部表格的onRowClick或onSelectionChange事件中调用stopPropagation():

const InnerGridComponent = () => {
  const handleInnerRowClick = (e) => {
    // 阻止事件冒泡至外部表格
    e.stopPropagation();
    // 内部表格行点击的业务逻辑
  };

  return (
    <Grid
      data={innerDataSource}
      onRowClick={handleInnerRowClick}
      // 其他内部表格配置
    />
  );
};

如果内部表格也用到了选中功能,同样可以在其onSelectionChange事件中执行e.stopPropagation(),确保外部表格不会接收到错误的选中触发信号。

内容的提问来源于stack exchange,提问作者Adrian Stanisławski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 18:33:19