javascript - 制表符 getElement 不是函数
问题描述
我目前在数组中有一个包含 100 个元素的制表符表。当我调用该函数来抓取特定单元格时,它会设法抓取前 25 行并更改我想要的特定单元格的颜色。
问题是,当其他一切都相同时,之后的那些不会改变颜色。我该如何解决?
这是我用来生成背景颜色的代码。它适用于前 25 行,但无法抓取接下来的 75 行
var allRowData = table.getRows();
// loops the entire row
allRowData.forEach(x => {
// using the row data, grab the columns and compare with a condition
scope.columns.forEach(y => {
if (y.priority == 3) { // checks for the priority number to add a color to it
var rowCell = x.getCell(`${y.fieldName}`);
rowCell.getElement().style.backgroundColor = "#F00";
}
});
});
解决方案
您不应该尝试从 Tabulator 外部直接操作表格的布局。
Tabulator 使用虚拟 DOM,这意味着它将根据需要创建和销毁表格元素,这意味着您只能对当前可见的元素进行样式设置,当这些元素更新时,任何先前的格式都可能会丢失,恕不另行通知。
如果您希望设置单元格元素的样式,则必须使用formatter
列定义中的rowFormatter
函数或重绘行/单元格时调用的表上的函数。
这些的全部细节可以在格式化程序文档中找到
如果您想根据表外的内容更改行的状态,那么您的格式化程序应该引用这个外部变量,当您更新外部状态时,您应该触redraw
发表上的函数以重新触发格式化程序
推荐阅读
- calendar - 我们如何在 Apache Superset 中使用 Jalali 日历?
- c# - 仅当过滤器值不是空字符串、空格或 null 最佳实践时过滤 MySQL 查询
- function - Libreoffice calc:删除行的函数
- javascript - 从 Jenkins 运行时打开 Cypress 浏览器
- r - 如何比 melt.data.table 更节省内存?
- python - Python getter 和 setter:在这种情况下调用哪一个,为什么?
- c++ - 当数据库路径中有特殊字符(ø)时,C++ sqlite3_open_v2 函数无法打开数据库文件
- go - Gorm 会自动关闭连接吗?
- matrix - sympy:请告诉我 Line.distance:我想要距离加号或减号
- webpack - SASS @Use 和 webpack 别名...找不到样式表