我正在用react.js制作一个应用程序,并使用react-frame-component来创建iframe。在iframe中,我为Modal (reactstrap)编写了代码。此模式将在我的应用程序窗口中打开。我只想让它在iframe中打开。
在reactstrap git repo中创建了相关问题。如果您知道任何覆盖Modal的document对象的方法,请让我知道。问题:https://github.com/reactstrap/reactstrap/issues/1326
应用链接:https://q8lp3kyr5w.codesandbox.io/
代码:https://codesandbox.io/s/q8lp3kyr5w
组件
import React from "react";
import ReactDOM from "react-dom";
import { Modal, ModalBody, Button } from "reactstrap";
import Frame from "react-frame-component";
import "bootstrap/dist/css/bootstrap.min.css";
import "./styles.css";
class ModalComp extends React.Component {
constructor(props) {
super(props);
this.state = {
modal: false
};
this.toggle = this.toggle.bind(this);
}
toggle() {
this.setState({ modal: !this.state.modal });
}
render() {
return (
<div>
<Frame>
<Button onClick={this.toggle}>Toggle Modal</Button>
<Modal isOpen={this.state.modal} toggle={this.toggle}>
<ModalBody>
<br />
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nostrum,
ipsam? A id numquam inventore, cumque debitis similique eos
maiores provident? Sed alias odit fuga, repellat ducimus
voluptatum aliquid quis pariatur?
</ModalBody>
</Modal>
</Frame>
</div>
);
}
}
const App = () => (
<div>
<b>How to open modal in this iframe?</b>
<ModalComp />
</div>
);
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);css:
.App {
font-family: sans-serif;
text-align: center;
}发布于 2018-12-20 14:06:24
到目前为止,reactstrap还没有提供将文档作为道具进行传递的功能。您可以使用react-modal。请参阅有问题的github问题链接。
https://stackoverflow.com/questions/53832479
复制相似问题