首页 > 解决方案 > Tabulator.js 编辑事件 cellEdited/cellEditing 和 row.reformat

问题描述

典型用法(实际上是我的情况)是创建带有几个可编辑列和几个计算列的 Tabulator 表(通过单元格格式化程序计算)

cellEdited用于处理下一个单元格的 Tab 键之后发生时,我需要在使用新计算重新格式化行之前,因此计算的列将显示更新的结果。

但是row.reformat()会删除单元格并连续重新创建它们,因此导航到下一个单元格会出现异常,并且编辑会失败。

可能需要cellEdited前后回调(例如,在导航到下一个单元格之前),因此可以在 row.reformat 之后进行导航而不会出错cellEditing

所以我的问题是:如何在之后显示重新格式化的计算列的单元格cellEdited

标签: tabulator

解决方案


您不需要在任何时候调用重新格式化函数。在单元格编辑回调中,您应该调用行组件上的更新函数来更新需要更改的任何其他单元格。

我不建议对计算值使用格式化程序,因为它们与您描述的问题完全相同。

您应该将它们基于数据中的实际值,并使用 mutators 为这些单元格创建计算值。这具有使计算单元格可排序的额外好处,因为排序是对基础数据而不是格式化程序显示的可视数据进行的。

查看Mutator 文档Row Componenet 文档以获取更多信息


推荐阅读