我正在尝试将react-modal添加到映射数组的项中。当我单击映射项上的onClick事件时,它会同时打开所有的情态动词。我想要的是顶部开放选择的模式一次。
在这里,我将映射Employee的数组,并使用onClick模式为每个数组添加一个按钮。
null
const employeeInfo = this.props.employees.map(employee => (
<tr key={employee.employeeId} className="employee_heading">
<td>{employee.name}</td>
<td className="actions">
<div className="group">
<button className="edit" onClick={this.toggleEditEmployeeModal}>
<i className="fas fa-pencil-alt" />
</button>
//This is the modal component
<Modal
open={this.state.openEditEmployeeModal}
onClose={this.toggleEditEmployeeModal}
center
>
<EditEmployeeModal />
</Modal>
</div>
</td>
</tr>
));
return (
<table>
<thead>
<tr>
<th>Name</th>
<th>Employee Id</th>
<th>Job Title</th>
<th>Date Of Joining</th>
<th>Employee Info</th>
<th>Actions</th>
</tr>
</thead>
<tbody>{employeeInfo}</tbody>
</table>
);
}
null
下面是切换模型的状态
null
state = {
openEditEmployeeModal: false
};
toggleEditEmployeeModal = () => {
this.setState({
openEditEmployeeModal: !this.state.openEditEmployeeModal
});
};
null
现在,如果我点击按钮,它将打开所有的模式,但我只想打开一个选定的模式。任何帮助都将不胜感激。
我通常把它们分成组件
const employeeInfo = this.props.employees.map(employee => (
<Employee employee=employee />
));
class Employee extends PureComponent {
render(){
constructor(props){
super(props);
this.state={visible:false}
}
toggleEditEmployeeModal(){
this.setState({
visible = !this.state.visible
})
}
var employee = this.props.employee
return(
<tr key={employee.employeeId} className="employee_heading">
<td>{employee.name}</td>
<td className="actions">
<div className="group">
<button className="edit" onClick={this.toggleEditEmployeeModal}>
<i className="fas fa-pencil-alt" />
</button>
//This is the modal component
<Modal
open={this.state.visible}
onClose={this.toggleEditEmployeeModal}
center
>
<EditEmployeeModal />
</Modal>
</div>
</td>
</tr>
)
}
}
如果你还有其他问题请告诉我
三种方式:
问题内容: 我有一个显示项目列表的应用程序。 用户可以单击一个项目,然后在模式弹出窗口(居中的DIV,使用JavaScript显示)中查看其详细信息。我需要在该弹出窗口上有一个按钮,该按钮将允许用户仅打印模式弹出窗口的内容。 这是针对仅需要在IE7 +中运行的内部应用程序的。当用户单击模式弹出窗口上的“打印”按钮时,该项目的状态将更改为“已打印”(出于内部业务原因…)。 我正在使用ASP.NET和
我有一个jsp页面,其中有“打印”按钮。我想在这个按钮上创建链接,它将打开新的弹出窗口,其中包含我的可打印页面(jsp文件),其模型与父页面相同。我可以做一些点击动作。但我不知道如何呈现可打印的jsp。我使用Spring MVC portlet
问题内容: 我正在尝试使用javafx在webview中打开网页。单击超链接后,此网页将打开一个新的弹出窗口。 我如何打开新的弹出窗口,当尝试在默认Web浏览器(例如chrome,IE)中打开同一网页时,它们正在打开弹出窗口。 为了创建弹出窗口,我使用以下代码。 问题答案: 您需要自己创建WebView弹出窗口,并从回调中提供WebEngine。如果需要新窗口,请使用该WebView创建一个新的舞
问题内容: 从使用ReactJS的prop验证功能开始,正如文档所说,出于性能原因,该功能仅在“开发模式”下有效。 React似乎正在验证我注释的特定组件的属性,但我不记得显式打开“开发模式”。 我尝试搜索如何触发/切换开发模式,但是没有任何运气。 问题答案: 对方的回答假设您使用外部预建的文件从反应,而正确的,是大多数人不会如何去或 应该 消耗作出反应,一个包。而且,在这一点上,大多数每个Rea
说得更清楚一点,基本上我要做的就是像亚马逊一样 将有一堆产品和一旦你点击产品,只有该产品和它的细节将显示在弹出的模式。 在我的例子中,我在一个数组中存储了3个数据,我把它映射出来,创建了3div和3modal弹出窗口,每个窗口中都有按钮。 一旦我点击第一个div的按钮,我希望模式是打开的第一个div只。 但现在当我点击按钮时,所有3个模式弹出。 我是React的新手,我可以在JQuery和Java
问题内容: 我通过window.open打开了一个弹出窗口。使用JavaScript打开,我想在关闭此弹出窗口时刷新父页面。(onclose事件?)我该怎么办? 问题答案: 您可以使用“ window.opener”访问父窗口,因此,在子窗口中编写如下内容: