2016-09-05 5 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

어쩌면 당신은 상태 변수를 구성 요소의 내부 플래그에 대해 정의해야할까요? – Kafo