Material-ui: [ダイアログ] onRequestCloseは起動されていないようです-私が間違っていることは何ですか?

作成日 2015年12月06日  ·  3コメント  ·  ソース: mui-org/material-ui

私はReactJSとMaterial-Uiを使ってテストしています。 小さなテストコンポーネントの場合、Dialogを使用しています。 私はあなたの例と同じコードを使用していますが、これは機能しないようです。 バグがあるか、ドキュメントが十分に明確ではなかった可能性があります。

これがコードです

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

何が起こるのですか:

リンクをクリックすると、イベントが発生し、モーダルが正しい方法で開きます。 しかし:バックグラウンドでクリックしているのかキャンセルボタンでクリックしているのかは関係ありません:モーダルは閉じられず、console.logも起動されません...そう:メソッドは呼び出されません! 私の例では、モーダルを閉じることは不可能です。

最も参考になるコメント

同じ問題があり、 injectTapEventPlugin()ます。 そして、イベントに関連する他のすべてが機能しているようです。 他に何かチェックする必要がありますか?

問題は、どこをクリックしても、冒頭のトピックとほとんど同じです。起動しません。

全てのコメント3件

まず、 injectTapEventPlugin()電話しますか?

ああ.. 'rly? 今では動作します。 私はしばらくの間問題を見つけようとしていました...

だから答えは:いいえ、私はそれを呼んでいませんでした。 Material-UiDocsで参照されているこれを見ませんでした。 ありがとう@oliviertassinari

同じ問題があり、 injectTapEventPlugin()ます。 そして、イベントに関連する他のすべてが機能しているようです。 他に何かチェックする必要がありますか?

問題は、どこをクリックしても、冒頭のトピックとほとんど同じです。起動しません。

このページは役に立ちましたか?
0 / 5 - 0 評価