Найдены некоторые проблемы в указанной вами ссылке .
Вы завернули Modal
, ModalHeader
& ModalBody
с Draggable
отдельно.
Обтекание ModalHeader
& ModalBody
с Draggable
бесполезно и создаст только утомленное поведение. Вам нужно удалить его.
Возможно, вам необходимо обернуть Modal
с помощью Draggable
.
Ваш Modal
не перетаскивается из-за transform
свойство,
.modal-dialog {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%) !important;
transform: translate(-50%, -50%) !important;
min-width: 500px !important;
}
Здесь вы применили !important
.
Draggable
внутренне работает только с свойством transform
. Когда вы оборачиваете любой элемент с помощью Draggable
, он применяет это CSS
,
touch-action: none;
transform: translate(0px, 0px);
и на основе позиции перетаскивания / курсора обновляет свойство transform
. Поскольку вы уже применили !important
к свойству transform
, это обновление не будет иметь эффекта, и в результате ваш Modal
не будет перетаскиваться.
Итак, удалив CSS
из modal-dialog
ваш код будет работать.
Еще одно предложение - вы написали пользовательский CSS
для своего Modal
.
Вам нужно добавить bootstrap
в ваш проект (actstrap берет CSS только из начальной загрузки) , что обеспечит CSS
для Modal
, так что вам не нужно писатьcustom CSS
.
npm i bootstrap --save
И вы можете добавить bootstrap.min.css
в index.js
файл, например,
import 'bootstrap/dist/css/bootstrap.min.css';
Демо
Примечание: Если вы хотите, чтобы ваш Modal
находился в центре экрана, для этого вы можете добавить пользовательский CSS
.