自定义容器上的 Material UI React 模态对话框

Ele*_*tan 8 typescript material-ui

我正在尝试显示一个仅部分模态的对话框,就像在特定元素上的模态一样,以便用户仍然可以与应用程序的其他部分进行交互。文档指定对话框组件具有containerfullscreen属性。我已经尝试将该container属性设置为要呈现对话框和背景的 div 元素。但没有任何运气。

在此处输入图片说明 我想模态只在应用程序的这一部分是模态的,如图所示。

以下是 Dialog 组件的文档https://material-ui-next.com/api/dialog/

任何帮助将不胜感激!

Sco*_*ord 15

我遇到了同样的问题。该<Dialog />部分没有记录,但是如果您查看该组件的 API文档,则<Modal />有一个名为“容器”的道具,并且由于 Dialog 实际上只是一个修改后的 Modal 组件,因此您最好使用相同的道具...

<Dialog
    container={() => document.getElementById('parentCo')}>
</Dialog>
Run Code Online (Sandbox Code Playgroud)

  • 除了为 Modal 设置容器属性之外,您还需要更改 Dialog 和 Backdrop 的样式。将 style={{position: 'absolute'}} 和 BackdropProps={{ style: { position: 'absolute' } }} 添加到对话框中。您还需要确保容器元素的位置设置为相对。 (6认同)
  • 我也试过这个,似乎没有解决问题。我认为设置 `container` 属性不足以实现这一点,您有工作示例吗? (2认同)
  • @格雷琴F。你这个大男人!实际上对于背景样式(以及抽屉的其他子项),您可以使用“position:inherit” (2认同)