Не нужно закрывать antd Modal после нажатия кнопки «Сохранить и добавить» и нужно закрывать после нажатия «Сохранить и закрыть» - PullRequest
0 голосов
/ 31 января 2019

Я использую antd Modal.У меня есть две кнопки.

  • Сохранить и добавить - не хочу закрывать модальные при нажатии на это. (Это не работает)
  • Сохранить и закрыть - Хотите закрытьмодальный при нажатии этого.

Но, при нажатии обеих кнопок он закрывается.Мне это не нужно

index.js

this.state = {
            isOpen: false,
}
handleCancel = () => {
        this.setState({isOpen:false});
    };
handleAddModal = () => {
        var self = this;
        this.setState({isOpen:true,isEdit:false,CompanyID:this.state.CompanyID,selectedItem:null,fields: {
            RegisterID: { value: '',},
            CustomerID: { value: '',},
            AccountID: { value: '',},
        }});  
    };
handleSave = (state) => {
        this.setState({
            isOpen:state.isOpen
        });
    };
<RegisterForm 
                showLoader={this.showLoader} 
                visible={this.state.isOpen} 
                />

RegisterForm.js

this.state={saveOrClose:false}
handleClear = () => {
        this.props.form.resetFields()
    };
    handleCancel = () => {
        this.props.handleCancel()
    };

handleSubmit = (e,isNewAdd) => {
        this.setState({saveOrClose:isNewAdd})
           let val = Object.assign({'CompanyID':this.props.CompanyID.value},values);
           this.props.actions.register.AddRegister(val);
           if(!isNewAdd){
           this.handleClear();
           this.props.handleSave(false);}

    });
  };
render(){
<Modal
                    visible={visible}
                    title=
                    "Register Form"
                    className="dialog-container"
                    onCancel={this.handleCancel}
                    footer={[
                        <Button className="save-btn" onClick={(event) => this.handleSubmit(event,true)} 
                        style={{'visibility' : this.props.RegisterID.value === '' ? 'visible' : 'hidden'}}>Save and Add </Button>,

                        <Button className="save-btn" onClick={(event) => this.handleSubmit(event,false)}>
                        {this.props.isEdit ?  "Save" :"Save and Close"  }</Button>, //Edit Button 

                        ]}>
}

Я пытался написать условие, передав булево значение на onClick функция кнопки.

Как это на самом деле кодировать, чтобы я получил желаемый результат?Есть ли ошибка в логике?Есть ли другой способ реализовать это?

1 Ответ

0 голосов
/ 31 января 2019
 handleSubmit = (e,isNewAdd) => {
        this.setState({saveOrClose:isNewAdd})
           let val = Object.assign({'CompanyID':this.props.CompanyID.value},values);
           this.props.actions.register.AddRegister(val);
           if(!isNewAdd){
           this.handleClear();
           this.props.handleSave(false);}

    });
  };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...