Estou testando com ReactJS e usando Material-Ui. Para um pequeno componente de teste, estou usando o Dialog. Estou usando o mesmo código do seu exemplo, mas parece não funcionar. Talvez haja um bug ou os documentos não foram claros o suficiente para mim.
Aqui está o código
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>
);
}
});
O que acontece:
Ao clicar no link o evento será disparado e o modal está abrindo da maneira certa. Mas: Não importa em que eu estou clicando se em background ou no botão Cancelar: O Modal não será fechado e também o console.log não será disparado ... então: O método não será chamado! No meu exemplo é impossível fechar o modal.
Primeiro, você está chamando injectTapEventPlugin()
?
Oh .. está bem? Agora funciona. Eu estava tentando encontrar o problema por um tempo agora ...
Portanto, a resposta é: Não, eu não estava ligando. Não vi isso referenciado no Material-Ui Docs. Obrigado @oliviertassinari !
Tenho o mesmo problema e estou usando injectTapEventPlugin()
. E tudo o mais relacionado a eventos parece estar funcionando. Devo verificar se há algo mais?
O problema é praticamente o mesmo do tópico de abertura, não importa onde eu clique - ele não dispara.
Comentários muito úteis
Tenho o mesmo problema e estou usando
injectTapEventPlugin()
. E tudo o mais relacionado a eventos parece estar funcionando. Devo verificar se há algo mais?O problema é praticamente o mesmo do tópico de abertura, não importa onde eu clique - ele não dispara.