2016-09-05 42 views
0

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> 
    ); 

    } 
} 
+0

「オーバーレイがクリックされたとき」は、ダイアログボックスのオーバーレイ自体をクリックしたことを意味していますか? –

+1

オーバーレイ(画面の灰色部分)をクリックすると、handleCloseが呼び出されません。あなたが何を指しているのか分かりません。 –

+0

これは終了しませんが、ブラウザにコンソールログが表示されます。 –

答えて

0

ちょうど試してみましたが、うまくいきました。これに関連する他のコードはありますか?材料uiを再インストールして再試行してください。

+0

それを試してくれてありがとうフセイン - 私はそれがチェックアウト、依存関係の問題だと思う。 –

+1

多分、コンポーネントの内部でopenフラグのために定義された状態変数を持っている必要がありますか? – Kafo

関連する問題