#javascript #twitter-bootstrap #reactjs #react-bootstrap
#javascript #twitter-bootstrap #reactjs #react-bootstrap
Вопрос:
Я использую react-bootstrap (документация: https://react-bootstrap.github.io/components.html#modals-props ) и я не уверен, как я могу закрыть модал, щелкнув по фону.
В настоящее время я закрываю его (не обращайте внимания на функцию onCloseModal
— она в значительной степени закрывает модальный режим):
<Modal closeButton={true} onHide={this.onCloseModal.bind(this)}>
<Modal.Header closeButton={true} onHide={this.onCloseModal.bind(this)}>
</Modal.Header>
</Modal>
Нет документации о том, как закрыть, нажав на фон. Извините, я ничего толком не пробовал, но я везде искал в Stackoverflow, и все решения соответствуют jQuery, а не React.
Ответ №1:
Это есть в документации в props
разделе с именем backdrop
Если вы знакомы с Bootstrap, вы можете знать атрибут, описывающий отображение / скрытие модального режима при нажатии на фоновое действие. вызывается static backdrop
.
Итак, чтобы закрыть модальный режим, нажав на фон. Попробуйте приведенный ниже код.
<Modal {...this.props} backdrop="true">
<Modal.Header closeButton>
<Modal.Title id="contained-modal-title-sm">Modal heading</Modal.Title>
</Modal.Header>
<Modal.Body>
<h4>Wrapped Text</h4>
</Modal.Body>
<Modal.Footer>
<Button onClick={this.props.onHide}>Close</Button>
</Modal.Footer>
</Modal>
Обратите внимание, что ...this.props
это атрибуты распространения JSX
Комментарии:
1. У меня есть
backdrop={true} included
, но не работает.2. потому что я смотрю на react-boostrap, и все их модальные примеры имеют возможность закрывать модальный режим при нажатии на фон. Вы что-нибудь изменили?
3. Это может иметь какое-то отношение к идентификатору, который я присваиваю каждому модальному. Я посмотрю.