gpt4 book ai didi

javascript - Reactjs - OnClick 模式弹出窗口

转载 作者:行者123 更新时间:2023-12-03 02:02:44 29 4
gpt4 key购买 nike

我正在学习Reactjs并面临一个小问题。

在表格单元格内,我创建了一个按钮并单击,它应该弹出一个模式。

<td className="">
<div className="radio">
{(() => {
return (item.ElectionOptions.split(",").map((item1, index1) =>
<label key={index1} className="radio-inline">
<input type="radio" id={index} value={item1}
checked={item.Election===item1}
onChange={this.handleOptionChange}
/>{item1}
</label>
))
})()}
</div>
<div>
{(() => {
if (roleUpdate) {
return (<button fontSize="20px" data-toggle="modal" onClick={this.handleEditOptions(item)}>Edit Options</button>)
}
})()}
</div>
</td>

handleEditOption是单独创建的:

handleEditOptions = (item) => {
var modal = (<VotingOptionModal resolutiondata = {item} />);
ReactDOM.render(modal, document.getElementById('x-modal'));

}

问题是:当我重新加载页面时,弹出模式会自行出现(这不应该发生),就好像我已经单击了按钮一样。此外,我随后关闭了模式,然后单击按钮,模式没有出现。我认为事件处理程序有问题。但不确定我应该如何解决它。

请帮忙。谢谢。

最佳答案

在这一行中:

return (<button fontSize="20px" data-toggle="modal" onClick={this.handleEditOptions(item)}>Edit Options</button>)

您正在执行 onClick={this.handleEditOptions(item)} ,它正在运行该函数。

相反,请尝试onClick={() => this.handleEditOptions(item)}

关于javascript - Reactjs - OnClick 模式弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49939422/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com