javascript - antdesign底层弹出个confirmModal。怎么获取底层的this?
问题描述

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
问题解答
回答1:你ajax的success和error都没有bind。注意看报错信息的位置。
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() {}, });},
准确来说是onOk函数的this环境已经丢失了。;
回答2:谢邀。
-----分割线----
在showConfirm外面定义个一个_this,然后用_this替换this即可。
或者你在外面let bindsuc = function(data){}.bind(this);//然后里面...success:bindsuc,//error同理...
相关文章:
1. 怎样用python给mp3添加封面?2. (python)关于如何做到按win+R再输入文件文件名就可以运行?3. javascript - AJAX请求疑问句4. javascript - vue2如何动态生成checkbox默认选中,获取数据5. 修改my.cnf后mysql无法运行???6. 怎么能做出标签切换页的效果,(文字内容随动)7. python - 用urllib抓取网页上的下载链接,目标文件是xls形式,但发现抓下来的xls是空表,里面只有一句报错信息,求帮助。8. 利用百度地图API定位及附件商家信息服务9. win10 python3.5 matplotlib使用报错10. python - 图片爬虫时候遇到问题 urllib.request.urlretrieve 下载到指定文件夹不成功?

网公网安备