添加列时如何保留自定义行高? [制表符 4.1]

How to preserve custom row heights when adding a column? [Tabulator 4.1]

我有一个制表符 table 允许用户手动调整行高和列宽。他们还能够 add/delete 行和列。

我的问题是,在调整一些行高后,您添加了一列,我猜它会重新绘制 table,因此会重置行高。我该如何解决这个问题?

这就是我添加新列的方式:

this.tabulator.addColumn({
  title: "new" + this.tabulator.getColumns().length, 
  field: "new" + this.tabulator.getColumns().length,
  width: 100,
  editor: "customTextAreaEditor", 
  formatter: this.customTextareaFormatter, 
  sorter: "string", headerSort: false, editableTitle: true
});

我不会在这之后调用重绘。

您应该将这些值存储在您的主要组件中并将它们传递给单元格项。复杂性将取决于您如何允许用户自定义布局(所有单元格的宽度相同、单独等...)。

例如,您可以将所有值存储在一个数组中,然后在 *ngFor 循环中传递这些值。

您可以将行高存储在您自己的对象中,并在 rowFormatter 回调中引用这些值以在 row.getElement() 上重置高度。

我已将此问题的修复推送到 Tabulator master 分支,并将在今天晚些时候将其包含在 4.2.2 补丁版本中