Material-ui: [Dialog] onRequestClose parece não ter sido disparado - o que estou fazendo de errado?

Criado em 6 dez. 2015  ·  3Comentários  ·  Fonte: mui-org/material-ui

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.

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.

Todos 3 comentários

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.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

finaiized picture finaiized  ·  3Comentários

chris-hinds picture chris-hinds  ·  3Comentários

sys13 picture sys13  ·  3Comentários

ryanflorence picture ryanflorence  ·  3Comentários

anthony-dandrea picture anthony-dandrea  ·  3Comentários