Я тестирую 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()
?
О ... правда? Теперь это работает. Я какое-то время пытался найти проблему ...
Итак, ответ: нет, я не звонил. Не видел ссылки на это в документации по пользовательскому интерфейсу. Спасибо @oliviertassinari !
У меня такая же проблема, и я использую injectTapEventPlugin()
. А все остальное, связанное с событиями, вроде работает. Стоит ли мне проверить что-нибудь еще?
Проблема почти такая же, как и в открывающей теме, куда бы я ни нажимал - не запускается.
Самый полезный комментарий
У меня такая же проблема, и я использую
injectTapEventPlugin()
. А все остальное, связанное с событиями, вроде работает. Стоит ли мне проверить что-нибудь еще?Проблема почти такая же, как и в открывающей теме, куда бы я ни нажимал - не запускается.