Material-ui: [Dialog] onRequestClose parece no ser despedido - ¿qué estoy haciendo mal?

Creado en 6 dic. 2015  ·  3Comentarios  ·  Fuente: mui-org/material-ui

Estoy probando con ReactJS y usando Material-Ui. Para un pequeño componente de prueba, estoy usando Dialog. Estoy usando el mismo código que en su ejemplo, pero parece que no funciona. Tal vez haya un error o los documentos no fueron lo suficientemente claros para mí.

Aquí está el 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>
    );
  }
});

Lo que pasa:

Cuando hago clic en el enlace, el evento se activará y el modal se abrirá de la manera correcta. Pero: No importa en qué esté haciendo clic, si está en segundo plano o en el botón Cancelar: el Modal no se cerrará y tampoco se disparará el archivo console.log ... entonces: ¡No se llamará al método! En mi ejemplo, es imposible cerrar el modal.

Comentario más útil

Tengo el mismo problema y estoy usando injectTapEventPlugin() . Y todo lo demás relacionado con los eventos parece estar funcionando. ¿Debo buscar algo más?

El problema es prácticamente el mismo que en el tema de apertura, no importa dónde haga clic, no se dispara.

Todos 3 comentarios

Primero, ¿estás llamando a injectTapEventPlugin() ?

Oh Rly ? Ahora funciona. Estuve tratando de encontrar el problema por un tiempo ...

Entonces la respuesta es: No, no lo estaba llamando. No vi esta referencia en Material-Ui Docs. ¡Gracias @oliviertassinari !

Tengo el mismo problema y estoy usando injectTapEventPlugin() . Y todo lo demás relacionado con los eventos parece estar funcionando. ¿Debo buscar algo más?

El problema es prácticamente el mismo que en el tema de apertura, no importa dónde haga clic, no se dispara.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

revskill10 picture revskill10  ·  3Comentarios

chris-hinds picture chris-hinds  ·  3Comentarios

FranBran picture FranBran  ·  3Comentarios

activatedgeek picture activatedgeek  ·  3Comentarios

ghost picture ghost  ·  3Comentarios