antd Modal模态框,如何实现关闭一个模态框,另一个模态框马上打开?

问题描述

antd Modal模态框,如何实现关闭一个模态框,另一个模态框马上打开?

阅读 5.7k
4 个回答

上个模态框中的 close方法触发,调用另一个模态框的 open方法。

虽然没用过,但是我觉得是:在关闭的方法里面调用把另外一个框的状态设置一下

`this.setState({

visibleA: false,
visibleB: true,

})`

你可以打开codepen 模拟 第一个. 我将我测试的 js 代码贴出来你覆盖过去 看看是不是你要的效果

image.png

const { Modal, Button } = antd;

class App extends React.Component {
  state = { visible: false };

  showModal = () => {
    this.setState({
      visible: true,
      visible2:false
    });
  };

  handleOk = e => {
    console.log(e);
    this.setState({
      visible: false,
    });
  };

  handleCancel = e => {
    console.log(e);
    this.setState({
      visible: false,
      visible2: true
    });
  };
   handleOk2 = e => {
    console.log(e);
    this.setState({
      visible2: false,
    });
  };

  handleCancel2 = e => {
    console.log(e);
    this.setState({
      visible2: false,
    });
  };

  render() {
    return (
      <div>
        <Button type="primary" onClick={this.showModal}>
          Open Modal
        </Button>
        <Modal
          title="Basic Modal"
          visible={this.state.visible}
          onOk={this.handleOk}
          onCancel={this.handleCancel}
        >
          <p>Some contents...</p>
          <p>Some contents...</p>
          <p>Some contents...</p>
        </Modal>
        <Modal
          title="Other Modal"
          visible={this.state.visible2}
          onOk={this.handleOk2}
          onCancel={this.handleCancel2}
        >
          <p>Some contents...</p>
          <p>Some contents...</p>
          <p>Some contents...</p>
        </Modal>
      </div>
    );
  }
}

ReactDOM.render(<App />, mountNode);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题