reactjs - 如何在 React.js 中关闭 Bootstrap 5 模式?
问题描述
在 React.js 中使用Bootstrap 5 Modal,Modal 在单击按钮时打开。如果我们在模态框上有一个表单,需要执行一些验证,并允许在成功验证后提交表单 - 我们不能使用data-bs-dismiss="modal"
提交按钮,因为它会立即关闭模态框。
现在,在成功提交表单时关闭模式的最佳方法是什么?
请提供不使用 jQuery 的解决方案,因为它已从 Bootstrap v5 中删除,也不建议与 React.js 一起使用。
此外,由于其 Virtual DOM 使用概念,许多人建议不要在 React 中使用 document.getElementByID 或 document.querySelector。
更新:可以通过在成功提交表单后单击关闭按钮的解决方法来实现它,如下所示。但仍在寻找理想的解决方案,如果有的话。
在构造函数中,创建了一个 ref:
this.closeModalRef = React.createRef();
在渲染中,为关闭按钮添加了这个引用:
<button type="button" className="btn btn-secondary" data-bs-dismiss="modal" id='closeModal' ref={this.closeModalRef}>Close</button>
在提交处理程序中,表单提交成功后:
this.closeModalRef.current.click();
解决方案
推荐阅读
- javascript - 事件处理程序如何记住传入的 value 参数?
- encryption - 在文件中生成三重 DES 密钥,并使用它来加密消息
- c# - 使用循环在 Linq 中创建列
- javascript - 美汤复杂查询题
- spring-boot - 在 Spring MVC/Boot Application 和 Alfresco Community Edition 之间进行 SSO 的最简单方法
- ansible - 动态 Ansible SSH 密钥管理
- javascript - 我无法在 JavaScript 中使用 console.log 来显示对象数组
- python - 给定一个长度数组,找到最接近总长度的组合
- powershell - 如何使用 xml 内容作为模式在 PowerShell 中获取文件?
- sql-server - SSIS/visual studio-使用派生列转换来计算不同的值并按两个变量排序?