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

在Tabulator-Dash中如何基于条件编程选中表格行

解决方案

方法1:纯Python回调实现(推荐)

dash_tabulator组件自带selectedRows属性,直接通过回调给该属性赋值需要预选中的行数据,即可自动触发行勾选,无需额外编写JS代码。
需要修改的代码部分如下:

  1. 首先导入依赖的State对象:
from dash.dependencies import Input, Output, State
  1. 修正表格配置中的selectable参数为布尔值(避免字符串配置导致的选中异常):
options = {"selectable": True}
  1. 修改模态框打开的回调,新增selectedRows输出:
@app.callback(
    [Output("modal", "is_open"),
     Output("modal-table", "selectedRows")],
    Input("open-modal-button", "n_clicks"),
    State("table", "data"),
    prevent_initial_call=True
)
def open_modal(n_clicks, home_table_data):
    return True, home_table_data

修改完成后打开模态框时,主表中已有的行会自动在模态框表格中预选中。

方法2:JS实现方案(仅当需要自定义复杂交互时使用)

你之前遇到的Tabulator引入报错是因为重复引入导致的版本冲突,dash_tabulator组件已经内置了Tabulator库,无需自行安装或引入。直接在JS代码中调用全局Tabulator对象即可:

// 直接获取模态框表格实例,无需额外导入Tabulator
const modalTable = Tabulator.prototype.findTable("#modal-table")[0];
// 预选中id为3、4、5的行
modalTable.selectRow([3,4,5]);

你可以监听模态框打开的事件,触发上述代码执行即可实现预选中效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 05:54:03