1
class abc extends React.Component{
_handleClick(){
console.log("some API call and state change");
}
}

columndefs: [
        {headerName:'Label', field: 'label', width:130, pinned:'left', cellClass:'ag-cell-text-align-center', cellRenderer:linkRenderer},
        {headerName:'Received', field: 'receivedDate', width:130, cellClass:'ag-cell-text-align-center'},
]

function linkRenderer(){
return params.data.link ? `<span style=text-decoration:underline;color:blue;cursor:pointer onClick="this._handleClick()">${params.value}</span>`: params.value;
}

これは、「this._handleClick は関数ではない」ことを示しています。したがって、linkRenederer 内で this._handleClick を呼び出す方法

4

1 に答える 1

0

コードにいくつかの構文の問題があります。例: style はオブジェクトでなければなりません。そして、そのように onClick を使用しないでください。次のようなことを試してください:

<span 
    style={{ textDecoration: "underline", color: "blue", cursor: "pointer" }} 
    onClick={ this._handleClick }>
    {params.value}
</span>

また、コンストラクターでメソッドをバインドします

constructor(props){
    super(props);
    this._handleClick = this._handleClick.bind(this);
}
于 2018-03-26T18:30:24.707 に答える