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

Dash表格过滤后点击活动单元格显示内容异常问题求助

解决Dash Table过滤后点击单元格显示错误内容的问题

问题根源在于你当前用的是表格的原始全量数据data,但过滤后表格里的active_cell['row']是当前视图中过滤后的行索引,和原始数据的行索引不对应,所以会取到错误的内容。

正确的做法是使用Dash Table的derived_virtual_data属性,它存储的是经过过滤、分页、排序后的当前视图数据,和表格实际显示的内容完全匹配。

修改后的回调代码如下:

@app.callback(
    Output('textareaReq', 'children'),
    Input('srctable', 'active_cell'),
    State('srctable', 'derived_virtual_data')
)
def get_active_cell_content(active_cell, derived_data):
    if active_cell and derived_data:
        row_idx = active_cell['row']
        col_id = active_cell['column_id']
        cell_content = derived_data[row_idx][col_id]
        if cell_content:
            return html.P(cell_content)
    # 无选中单元格或无数据时返回空内容
    return html.P("")

几点补充:

  • derived_virtual_data会实时同步表格的当前状态,不管是过滤、分页还是排序,都能精准匹配选中的单元格
  • 新增了derived_data的非空判断,避免表格无数据时触发报错
  • 简化了回调的参数包裹方式,单个输入输出不需要用列表,代码更简洁

内容的提问来源于stack exchange,提问作者Rishim Mittal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 23:33:13