0

反応ブートストラップ テーブルを使用しており、テーブルの列の 1 つとして「ステータス」があります。この列は 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 に答える