我正在使用 ReactJS 和 Material-Ui 进行测试。 对于一个小的测试组件,我正在使用 Dialog。 我正在使用与您的示例相同的代码,但这似乎不起作用。 也许有一个错误或者文档对我来说不够清楚。
这是代码
const {Dialog, FlatButton} = MUI;
Home = React.createClass({
getInitialState() {
return {
welcomeModal: false
};
},
openWelcomeDialog() {
this.setState({welcomeModal:true});
},
closeWelcomeDialog(buttonClicked) {
console.log('Close The Welcome Dialog.');
this.setState({welcomeModal:false});
},
render() {
let modalActions = [
{ text: 'Cancel' }
];
return (
<div>
<h1>Welcome to my app</h1>
<a href="#" onClick={this.openWelcomeDialog}>Open the Welcome Modal</a>
<Dialog
title="Welcome Modal"
actions={modalActions}
autoDetectWindowHeight={true}
autoScrollBodyContent={true}
open={this.state.welcomeModal}
onRequestClose={this.closeWelcomeDialog}>
<div style={{height: '1000px'}}>
Really long content
</div>
</Dialog>
</div>
);
}
});
怎么了:
当我点击链接时,事件将被触发,模态以正确的方式打开。 但是:如果在后台或取消按钮上单击什么并不重要:模态不会关闭,也不会触发 console.log ......所以:不会调用该方法! 在我的例子中,关闭模态是不可能的。
首先,你打电话给injectTapEventPlugin()
吗?
哦.. 'rly? 现在它起作用了。 我试图找到问题有一段时间了......
所以答案是:不,我没有打电话给它。 在 Material-Ui 文档中没有看到这个引用。 谢谢@oliviertassinari !
我有同样的问题,我正在使用injectTapEventPlugin()
。 与事件相关的一切似乎都在起作用。 我应该检查其他东西吗?
问题与开头主题中的问题几乎相同,无论我单击何处 - 它都不会被触发。
最有用的评论
我有同样的问题,我正在使用
injectTapEventPlugin()
。 与事件相关的一切似乎都在起作用。 我应该检查其他东西吗?问题与开头主题中的问题几乎相同,无论我单击何处 - 它都不会被触发。