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

Tabulator 4.9中是否支持条件性禁用movableRows功能?

Tabulator 4.9 条件性禁用movableRows功能实现方法

4.9版本原生支持该需求,不需要修改框架源码,有两种常用实现方案:

  • 行级粒度控制(最常用)
    全局开启movableRows: true后,可针对单行设置movable: false属性禁用该行的拖动能力,通常在rowInit回调里根据业务条件判断即可:
new Tabulator("#your-table", {
  movableRows: true, // 全局开启行拖动
  rowInit: (row) => {
    const data = row.getData();
    // 替换为你的业务判断逻辑,例:行状态为已审核时禁止拖动
    if (data.status === 'approved') {
      row.modify({ movable: false });
    }
  }
})

如果是表格渲染完成后,需要动态修改某行的可拖动状态,直接调用行更新方法即可:

// 拿到目标row实例后执行
row.update({ movable: false }); // 禁用拖动
row.update({ movable: true }); // 恢复拖动
  • 全局临时切换
    如果需要在特定场景下全局禁用所有行的拖动,直接修改表格配置项即可,4.9版本下该配置修改后即时生效,不需要重绘表格:
// 全局禁用
table.options.movableRows = false;
// 全局恢复
table.options.movableRows = true;

注意:不建议手动解绑movableRows绑定的原生DOM事件,很容易破坏表格内部的事件逻辑,用上述官方提供的属性控制方式稳定性最高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 00:03:48