showConfirm() {//弹出确认对话框
confirm({
title: '当前总计应收金额为'+this.state.allReceivablePrice+'元',//这里能得到值!!!!
// content: 'some descriptions',
okText: '确认回款',
cancelText: '取消',
onOk() {
const {allSelectOrder}=this.state;
if (allSelectOrder.length==0){
message.error('订单Id不能为空');
return;
}else {
this.setState({loading: true});
$.ajax({
url: API.flow,
type: 'post',
dataType: 'json',
data: JSON.stringify(allSelectOrder),
contentType: 'application/json;charset=UTF-8',
success: ()=> {
this.setState({
loading: false,
});
message.success('添加收款记录成功!');
this.refreshData();
},
error: (data)=> {
Modal.error({
title: data.responseJSON.msg
});
this.setState({ loading: false });
}
})
}
},
onCancel() {
},
});
},
这个this我怎么获取不到呢,都加了bind了
报错:
PaymentCollection.jsx:329 Uncaught TypeError: Cannot read property 'state' of undefined
你ajax的success和error都没有bind。注意看报错信息的位置。
准确来说是onOk函数的this环境已经丢失了。;
谢邀。
-----分割线----
在showConfirm外面定义个一个_this,然后用_this替换this即可。