【问题标题】:How do I prevent Material UI Dialog from being dismissed upon clicking the backdrop?如何防止 Material UI Dialog 在单击背景时被关闭?
【发布时间】:2020-02-24 02:25:33
【问题描述】:

我有一个使用 Dialog 组件的 React JS 应用程序,但我似乎找不到任何文档说明如何通过单击背景来防止对话框自动关闭。我在对话框中有一个明确的操作,我想用它来控制解雇。

我已经尝试阅读文档,当然也在这里搜索过,但没有找到任何有用的内容或包含示例的内容。任何帮助表示赞赏;这是我第一次使用 React。

<Dialog onClose={handleClose} aria-labelledby="simple-dialog-title" open={open}>
  <DialogTitle id="simple-dialog-title">Uploading Media To Server</DialogTitle>
  <React.Fragment>
    <Grid container alignItems="center" justify="center">          
        <img src={LoadingGif} width="150" />
    </Grid>
  </React.Fragment>
</Dialog>

有人提到这可能是How to handle "outside" click on Dialog (Modal) with material-ui 的重复项,但由于我使用的是对话框组件而不是模态组件,因此没有发现它有帮助。

【问题讨论】:

标签: reactjs material-ui


【解决方案1】:

试试这个:

<Dialog onClose={handleClose} aria-labelledby="simple-dialog-title" 
  open={open} onBackdropClick="false">
   <DialogTitle id="simple-dialog-title">Uploading Media To Server</DialogTitle>
   <React.Fragment>
      <Grid container alignItems="center" justify="center">          
        <img src={LoadingGif} width="150" />
      </Grid>
   </React.Fragment>
</Dialog>

您也可以通过设置disableBackdropClick="true" 来实现它,这可能更适合您的用例。

【讨论】:

  • 谢谢!我看到了 onBackdropClick 事件,但没有想到将基于字符串的“false”作为值。谢谢大卫
  • 他们更改了 API。请参阅此评论以了解它现在是如何完成的:stackoverflow.com/a/67745133/6434590
猜你喜欢
  • 2021-11-02
  • 1970-01-01
  • 2018-09-11
  • 2016-04-09
  • 2019-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-10
相关资源
最近更新 更多