DataTables draw() 不改变显示
DataTables draw() doesn't change display
我遇到了一些[应该]非常简单的事情:修改单元格的内容后,我无法使用 draw()
使更改可见。
这是一个基本示例,显示了更改前后的DataTable().data()
,而显示的table保持不变。
$('table').DataTable({
data: [
{a: 'A1', b: 'B1'},
{a: 'A2', b: 'B2'}
],
columns: [
{data: 'a', title: 'A'},
{data: 'b', title: 'B'}
]
});
var dt = $('table').DataTable();
console.log('before:', dt.data()[0]);
$('button').click(function() {
dt.row(0).data().a = 'XXX';
dt.draw();
console.log('after:', dt.data()[0]);
});
抱歉,无法使用 SO 片段执行,它会在超时前引发大量安全错误。
但是你可以看到它在 this fiddle.
中工作
注意:我也尝试在 draw()
之前插入 invalidate()
,但没有成功。
更新自定义单元格(DOC):
https://jsfiddle.net/hdadLhmo/2/
$('table').DataTable({
data: [
{a: 'A1', b: 'B1'},
{a: 'A2', b: 'B2'}
],
columns: [
{data: 'a', title: 'A'},
{data: 'b', title: 'B'}
]
});
var dt = $('table').DataTable();
console.log('before:', dt.data()[0]);
$('button').click(function() {
dt.row(0).data().a = 'XXX';
dt.draw();
console.log('after:', dt.data()[0], dt.cell(0, 0).data('XXX'));
});
我遇到了一些[应该]非常简单的事情:修改单元格的内容后,我无法使用 draw()
使更改可见。
这是一个基本示例,显示了更改前后的DataTable().data()
,而显示的table保持不变。
$('table').DataTable({
data: [
{a: 'A1', b: 'B1'},
{a: 'A2', b: 'B2'}
],
columns: [
{data: 'a', title: 'A'},
{data: 'b', title: 'B'}
]
});
var dt = $('table').DataTable();
console.log('before:', dt.data()[0]);
$('button').click(function() {
dt.row(0).data().a = 'XXX';
dt.draw();
console.log('after:', dt.data()[0]);
});
抱歉,无法使用 SO 片段执行,它会在超时前引发大量安全错误。
但是你可以看到它在 this fiddle.
注意:我也尝试在 draw()
之前插入 invalidate()
,但没有成功。
更新自定义单元格(DOC): https://jsfiddle.net/hdadLhmo/2/
$('table').DataTable({
data: [
{a: 'A1', b: 'B1'},
{a: 'A2', b: 'B2'}
],
columns: [
{data: 'a', title: 'A'},
{data: 'b', title: 'B'}
]
});
var dt = $('table').DataTable();
console.log('before:', dt.data()[0]);
$('button').click(function() {
dt.row(0).data().a = 'XXX';
dt.draw();
console.log('after:', dt.data()[0], dt.cell(0, 0).data('XXX'));
});