显示ReactJS中显示模态的按钮列表
Showing list of buttons displaying modals in ReactJS
我有一个问题,显示一个按钮列表,每个按钮都会显示一个弹出窗口。我已经采取了react-modal (https://github.com/reactjs/react-modal)组件,并能够在按钮单击上显示单个弹出窗口,但我该如何为按钮列表呢?我读过refs集合,但似乎没有办法改变道具集合访问和组件refs名称?
有一个显示按钮:
<button type="button" onClick={this.openModal}>Show</button>
openModal function:
openModal: function(ref) {
this.setState({isOpened: true});
}
但是我应该如何为特定的按钮实例设置一个状态值?我可以通过给每个isOpened状态值特定的名称:isOpened-1, isOpened-2等,但我想这不是一个适当的方式。我正在学习ReactJS
如果我明白你想要什么,你可以尝试这样做:
constructor(props){
super(props);
this.state = {
modals: {}
}
}
handleModal(name, event){
let modals = this.state.modals;
if(this.state.modals.some(i => i.name === name)){
let value = this.state.models.filter(f => f.name == name).map(i => i.active)[0];
modals = [...modals, {name: name, open: !value}];
}else{
modals = [...modals, {name: name, open: true}];
}
this.setState({modals: modals})
}
然后
<button type="button" onClick={this.openModal.bind(this, "modal1")}>Show</button>
我在工作的项目中遇到了完全相同的问题。我放弃了寻找合适的解决方案,最后想到了https://github.com/fckt/react-layer-stack。它的主要特性之一——它为每个层(可以是Modal或其他)创建了闭包上下文(use和id属性是for)。
相关文章:
- 如何使用AngularJS显示按钮或锚标记值
- PHP到JavaScript图表;显示w/按钮
- 输入按钮分隔显示按钮名称和值
- 如果条件为true,ServiceNow显示按钮
- 仅当在文本框中输入文本时显示X按钮
- 点击页面上的计数和显示按钮
- 填写完输入后,如何显示按钮
- 聚焦时如何显示按钮?有棱角的
- 如果已登录,则显示按钮,Meteor's空格键
- 通过键盘单击显示按钮上的按键事件
- 防止在 Jquery 表单提交时加载页面,但“无”显示按钮
- 为什么没有正确显示按钮
- 单击另一个用于显示/隐藏图层的按钮时,在Adobe PDF中隐藏/显示按钮的代码是什么
- 是否可以在单击其他按钮时显示按钮的引导弹出框
- 嵌入应该能够显示按钮
- 根据 Cookie 的存在突出显示按钮
- 如何使用javascript在特定网页上显示按钮
- CSS 在图像上显示按钮
- 单击时隐藏按钮,计时器用完时显示按钮
- 当用户使用 jquery 将焦点聚焦到文本区域时显示按钮