Material-UIのダイアログを使用しています。オーバーレイをクリックすると、handleClose
は呼び出されません。 "Esc"ボタンを押すと呼び出されます。オーバーレイをクリックしたとき、Material-UIダイアログが閉じない
タップイベントを挿入しました。他に何が間違っていますか?
import React, { Component, PropTypes } from 'react';
import Dialog from 'material-ui/Dialog';
import baseTheme from 'material-ui/styles/baseThemes/lightBaseTheme';
import getMuiTheme from 'material-ui/styles/getMuiTheme';
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
// Tap event required
import injectTapEventPlugin from 'react-tap-event-plugin';
injectTapEventPlugin();
class MyComponent extends Component {
handleClose(){
console.log('I will be closed');
}
render() {
return (
<div>
<h1>Modal test</h1>
<MuiThemeProvider muiTheme={getMuiTheme()}>
<Dialog
title="Test Dialog"
modal={false}
open={(this.props.active)}
onRequestClose={this.handleClose}
autoScrollBodyContent={true}>
Hello world, I'm a dialogue.
</Dialog>
</MuiThemeProvider>
</div>
);
}
}
「オーバーレイがクリックされたとき」は、ダイアログボックスのオーバーレイ自体をクリックしたことを意味していますか? –
オーバーレイ(画面の灰色部分)をクリックすると、handleCloseが呼び出されません。あなたが何を指しているのか分かりません。 –
これは終了しませんが、ブラウザにコンソールログが表示されます。 –