TypeError:this.setState不是reactjs中的函数

时间:2019-09-16 07:25:46

标签: reactjs next.js

我试图在重新选择更改时设置属性。但是this.setState()抛出error。 甚至我在构造函数中都绑定了onselectchange。

编辑:当我尝试从列标题的复选框中选择所有行时,它将调用allSelectedRows()。在这里,我得到计数​​,但未设置

 rowSelection = {

    onChange: this.onSelectchange,
    onSelectAll: (selected, selectedRows, changeRows) => {
        console.log(selected, selectedRows, changeRows);
        this.allRowsSelected(selected, selectedRows, changeRows);
    },
};
constructor(props) {
    super(props);
    this.state = {           
        selectedRowKeys: []     
    }
    this.onSelectchange= this.onSelectchange.bind(this);        
}
allRowsSelected(selected, selectedRows, changeRows) {
    this.setState({ selectedRowKeys: selectedRows.length });
    console.log(this.state.selectedRowKeys.length);
}

onSelectchange(record){
    console.log(record);
    console.log(this.rowSelection);
    this.setState({ selectedRowKeys: record });

}
render(){
    return(
        <Table
            rowKey={data._id}
            columns={this.columns1}
            rowSelection={this.rowSelection}
            expandedRowRender={(record, index, indent, expanded) =>
            this.expanding(record, expanded)
            }

            onExpand={this.onExpand}
            dataSource={data} />
    )
}

1 个答案:

答案 0 :(得分:2)

请您将代码更新为以下代码之一

rowSelection = {
    onChange: (record)=> this.onSelectchange(record),
};

我不确定,但是我想这对您有用! 让我知道是否无法正常工作。