【发布时间】:2016-10-07 06:34:11
【问题描述】:
我正在尝试更新我的 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));
我像这样更新行数据(根据docs):
function (newValue) {
var data = this.state.selected.row().data();
data.someValue = newValue
this.state.selected.row().data(data).draw();
},
但新数据不会反映在我的数据表中,除非我更新了其他行(但只有这一行被更新,而不是那一行)。
我在这里做错了什么?
【问题讨论】: