React Bootstrap 表:在其中一个表列上使用 dataFormat 时无法更新复选框值



我正在使用 react bootstrap 表,并将"状态"作为表中的列之一。此列使用 dataFormat 标签进行格式化,我已经编写了一个函数来显示呈现复选框。像这样:

<TableHeaderColumn dataField='STATUS' dataFormat={statusFormatter}>Column name</TableHeaderColumn>

现在我想更新复选框的值。但我认为状态格式化为一个函数并不能为我提供更新复选框值的句柄。

这是我对该函数的代码:

function statusFormatter(cell, row) {
let checkBoxValue = false;
if (cell==='RESOLVED')
     checkBoxValue = true;  
return (
    <CheckBoxForTable active={checkBoxValue} onToggle={this.onStatusUpdate.bind(this)}/>
)
}

我收到以下错误:无法读取未定义的属性"绑定"

任何人都可以指导我如何更新复选框值并将操作发送到服务器。

这是一个解决方法,只需将组件的onStatusUpdate传递给formatter函数

<TableHeaderColumn 
   dataField='STATUS' 
   dataFormat={(cell, row) => statusFormatter(cell, row, this.onStatusUpdate.bind(this))}
>Column name</TableHeaderColumn>

和你的格式化程序

function statusFormatter(cell, row, onStatusUpdate) {
let checkBoxValue = false;
if (cell==='RESOLVED')
     checkBoxValue = true;  
return (
    <CheckBoxForTable active={checkBoxValue} onToggle={onStatusUpdate}/>
)
}

最新更新