recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Un confirmModal apparaît au bas d'antdesign. Comment obtenir le sous-jacent à cela ?

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() {

            },
        });
    },

Pourquoi ne puis-je pas obtenir ceci ? J'y ai ajouté une liaison
Rapport d'erreur :

PaymentCollection.jsx:329 Uncaught TypeError: Cannot read property 'state' of undefined
某草草某草草2795 Il y a quelques jours530

répondre à tous(2)je répondrai

  • 世界只因有你

    世界只因有你2017-05-16 13:38:54

    Votre succès et vos erreurs ajax ne sont pas liés. Faites attention à l'emplacement du message d'erreur.

    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() {
    
            },
        });
    },

    Pour être précis, cet environnement de la fonction onOk a été perdu. ;

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 13:38:54

    Merci pour l'invitation.

    -----Ligne de séparation----

    Définissez _this en dehors de showConfirm, puis remplacez this par _this.

    或者你在外面
    
    let bindsuc = function(data){}.bind(this);
    
    //然后里面
    ...
    success:bindsuc,
    //error同理
    ...

    répondre
    0
  • Annulerrépondre