react使用antd里的modal的时候如何动态引入加载组件呢?

发布于 2022-09-12 03:13:16 字数 935 浏览 42 评论 0

下面是antd的modal官方demo
image.png
看得出来是事先在组件里已经写好了。只需要控制visible来达到打开和关闭。

但有一次我看到过一段代码使用modal是这样引入modal的。

image.png

里面的changeItemModal是一个弹窗里的内容组件。
image.png

目前这个封装做到了 直接将组件传到modal进行显示。
然而也并没有在当前组件里写过modal的相关引入。
就仅凭下面的一个方法调用就完成了组件的加载,渲染。

openChangeModal(params, e) {
    ModalReducer.add({
      key: Math.random(),
      modalProps: {
        title: "更改内容",
        visible: true,
        maskClosable: false,
        width: 800,
      },
      component: changeItemModal,
      comProps: {
        row: params.row,
        status: params.status,
      },
      onFinish: (result) => {
        if (result) {
          this.UpContent(result.text, params);
        }
      },
    });
  }

请问有人做过类似的封装吗?能告诉下原理吗。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

渡你暖光 2022-09-19 03:13:17

类似 HOC,他的 Modal 已经在他定义的父组件写好了,调用ModalReducer,只需要转入他自己约定好的参数就行。

人疚 2022-09-19 03:13:17

可以使用ReactDOM.createPortal动态渲染

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文