Material-ui: [Диалог] onRequestClose вроде не запускается - что я делаю не так?

Созданный на 6 дек. 2015  ·  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() ?

О ... правда? Теперь это работает. Я какое-то время пытался найти проблему ...

Итак, ответ: нет, я не звонил. Не видел ссылки на это в документации по пользовательскому интерфейсу. Спасибо @oliviertassinari !

У меня такая же проблема, и я использую injectTapEventPlugin() . А все остальное, связанное с событиями, вроде работает. Стоит ли мне проверить что-нибудь еще?

Проблема почти такая же, как и в открывающей теме, куда бы я ни нажимал - не запускается.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги