我正在尝试更新React应用程序中使用的Datatable中的一行。
我将Datatable对象以及保存在React组件状态下的选定行保存为this.state.myTable
和this.state.selected
。
我最初是这样保存Datatable对象的:
var myTable = $('#myTable').DataTable({ ... });
this.setState({ myTable: myTable });
我在行点击事件中保存所选行,代码如下:
$('#myTable tbody').on('click', 'tr', function () {
$(this).toggleClass('selected');
}).on('click', 'tr', function () {
this.setState({ selected: this.state.myTable.rows('.selected') });
}.bind(this));
根据文档,我这样更新行数据:
function (newValue) {
var data = this.state.selected.row().data();
data.someValue = newValue
this.state.selected.row().data(data).draw();
},
但是除非我更新其他行(但这样只会更新该行而不是那行),否则我的Datatable中不反映新数据。
我做错了什么?