Material-ui: [Dialog] onRequestClose tampaknya tidak diaktifkan - apa yang saya lakukan salah?

Dibuat pada 6 Des 2015  ·  3Komentar  ·  Sumber: mui-org/material-ui

Saya menguji dengan ReactJS dan menggunakan Material-Ui. Untuk Komponen Uji kecil saya menggunakan Dialog. Saya menggunakan kode yang sama seperti pada contoh Anda, tetapi ini sepertinya tidak berhasil. Mungkin ada bug atau dokumen yang tidak cukup jelas bagi saya.

Ini Kodenya

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

Apa yang terjadi:

Ketika saya mengklik tautan, acara akan diaktifkan dan modal dibuka dengan cara yang benar. Tetapi: Tidak masalah pada apa yang saya klik jika di latar belakang atau di Tombol Batal: Modal tidak akan ditutup dan juga console.log tidak akan diaktifkan ... jadi: Metode tidak akan dipanggil! Dalam contoh saya, tidak mungkin untuk menutup modal.

Komentar yang paling membantu

Saya memiliki masalah yang sama, dan saya menggunakan injectTapEventPlugin() . Dan semua hal lain yang terkait dengan acara tampaknya berfungsi. Haruskah saya memeriksa sesuatu yang lain?

Masalahnya hampir sama dengan topik pembuka, di mana pun saya mengklik - itu tidak menyala.

Semua 3 komentar

Pertama, apakah Anda menelepon injectTapEventPlugin() ?

Oh .. 'rly ? Sekarang berhasil. Saya mencoba mencari masalah untuk sementara waktu sekarang ...

Jadi jawabannya adalah: Tidak, saya tidak menyebutnya. Tidak melihat ini dirujuk dalam Dokumen Material-Ui. Terima kasih @olivietassinari !

Saya memiliki masalah yang sama, dan saya menggunakan injectTapEventPlugin() . Dan semua hal lain yang terkait dengan acara tampaknya berfungsi. Haruskah saya memeriksa sesuatu yang lain?

Masalahnya hampir sama dengan topik pembuka, di mana pun saya mengklik - itu tidak menyala.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

mattmiddlesworth picture mattmiddlesworth  ·  3Komentar

revskill10 picture revskill10  ·  3Komentar

iamzhouyi picture iamzhouyi  ·  3Komentar

ghost picture ghost  ·  3Komentar

ryanflorence picture ryanflorence  ·  3Komentar