javascript - React.js 模态不显示语义 Ui
问题描述
我正在尝试使用 reactjs 显示模态 onclick,我知道有一个特定的语义 ui 插件用于反应,但我使用的是 jquery 版本。到目前为止,我尝试过的是:
索引.html
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/semantic-ui@2.3.0/dist/semantic.min.css"/>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/semantic-ui@2.3.0/dist/semantic.min.js"></script>
<script>
$(document).ready(function () {
$('.modal').modal();
})
</script>
应用程序.js
export default class Request extends React.Component {
constructor(props) {
super(props);
this.state = {
openModal: false,
}
}
handleClick = (e) => {
this.setState({
openModal: true
});
}
closeModal = (e) => {
this.setState({
openModal: false
});
}
render() {
return (
<Button onClick={this.handleClick} class="positive">show modal</Button>
<Modal open={this.state.openModal} onClose={this.closeModal} class="basic" title="My Title">It's a title</Modal>
}
}
}
模态.js
export default class Modal extends React.Component {
render() {
return(
<div className={'ui modal '+ this.props.class}>
<div className="ui icon header">
<i className="archive icon"></i>
{this.props.title}
</div>
<div className="content">
<p>{this.props.children}</p>
</div>
<div className="actions">
<div className="ui red basic cancel inverted button">
<i className="remove icon"></i>
No
</div>
<div className="ui green ok inverted button">
<i className="checkmark icon"></i>
Yes
</div>
</div>
</div>
)
}
}
但问题是,当我单击按钮时,什么也没有发生,没有控制台错误,请注意,它在我的 html 中呈现模态只是不显示模态,似乎是不可见的。
解决方案
在你的App.js中试试这个:
export default class Request extends React.Component {
handleClick = (e) => {
window.jQuery(".modal").modal("show")
}
closeModal = (e) => {
window.jQuery(".modal").modal("hide")
}
render() {
return (
<Button onClick={this.handleClick} className="positive">show modal</Button>
<Modal open={this.state.openModal} onClose={this.closeModal} className="basic" title="My Title">
It's a title
</Modal>
)
}
}
推荐阅读
- google-chrome - 使用 WebRTC getstats() 和 Chrome:如何获取远程对等方的 bytesSent 和 BytesReceived
- apache-spark - deeplearning4j 嵌入多个字段
- vcl - 如何仅为显示的单元格设置单元格值?
- javascript - 如何在画布中绘制通过三个点的曲线?
- jmeter - jmeter - Beanshell 后处理器
- python-3.x - 在数据框中获取生命线 CoxPH 模型的一致性结果
- c# - 注入具有非静态属性的控制器的单例是否在所有用户之间共享值?
- javascript - 读取 Dropper Container 内 Dropped Div 的元素
- angular - 如何根据 url angular 2 创建对后端的动态请求
- java - 用于传入 JSON 反序列化 POJO 的 CDI