0

我正在使用反应引导表并将“状态”作为表中的列之一。此列使用 dataFormat 标记进行格式化,我编写了一个函数来显示渲染复选框。像这样的东西:

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

现在我想更新复选框的值。但我认为 statusFormatter 作为一个函数并没有为我提供更新复选框值的句柄。

这是我的函数代码:

function statusFormatter(cell, row) {
let checkBoxValue = false;

if (cell==='RESOLVED')
     checkBoxValue = true;  

return (
    <CheckBoxForTable active={checkBoxValue} onToggle={this.onStatusUpdate.bind(this)}/>
)
}

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

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

4

1 回答 1

0

这是一个解决方法,只需将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}/>
)
}
于 2017-01-02T13:13:32.290 回答