Таким образом, по умолчанию Antd Modal активирует свойство onCancel Modal, когда пользователь нажимает на маску (область вне модального окна).
Но я хочу, чтобы программа ничего не запускала, когда пользователь щелкает маску (просто закрывает модальное окно и ничего не меняет), потому что у меня есть собственная функция в onCancel. Как мне сделать это так? Заранее спасибо!
Установите для свойства maskClosable значение false. Страница документации; https://ant.design/components/modal/
хм, если это соответствует вашим потребностям, вы можете отключить нижний колонтитул по умолчанию, указав нулевое значение нижнего колонтитула и поместив свою собственную кнопку отмены, в которой вы можете указать другую функцию onClick, а не поддержку onCancel модального. Но значок закрытия «x» и щелчок по маске вызовет функцию onCancel.
Это так просто, вы можете удалить строку onCancel в своем модальном окне: D
<Modal
title = "Basic Modal"
visible = {this.state.visible}
onOk = {this.handleOk}
//onCancel = {this.handleCancel}
>
<p>Some contents...</p>
<p>Some contents...</p>
<p>Some contents...</p>
</Modal>
Один из вариантов — сохранить контроль с помощью доступных кнопок (отмена и ок) и запретить любые действия при щелчке по маске с помощью maskClosable = {false}.
<Modal
title = "Basic Modal"
visible = {this.state.visible}
onOk = {this.handleOk}
onCancel = {this.handleCancel}
maskClosable = {false}
>
<p>Some contents...</p>
<p>Some contents...</p>
<p>Some contents...</p>
</Modal>
Теперь щелчок за пределами модального окна ничего не вызовет.
установка maskClosable в false сделает так, что модальное окно не может быть закрыто при нажатии на маску. то, что я хочу сделать, это сделать его закрывающимся, щелкнув маску, и выполнить пустую функцию, не вызывая поддержку onCancel