其他分享
首页 > 其他分享> > iView Modal对话框 设置可拖动(dragable)时,一拖就消失

iView Modal对话框 设置可拖动(dragable)时,一拖就消失

作者:互联网

现象:

当给Modal组件添加 draggable 属性将对话框设为可拖动时,当拖动对话框时,对话框就消失(或者跑偏了)。

原因:

因为Modal组件使用了“自定义位置”的垂直居中,参考官方文档 https://www.iviewui.com/components/modal#ZDYWZ

结论:

draggable的原理也是通过修改对话框的位置CSS实现的,当拖动时相对于.ivu-modal修改.ivu-modal-content的top和left的值,而上面官方的自定义样式的例子中垂直居中用了flex部局,而之前没有加拖动属性时ivu-modal-content的positon是relative,加了draggable后,.ivu-modal-content元素上加了一个class: ivu-modal-content-drag, 导致ivu-modal的高度和宽度变成了0,按flex部局的效果,它就跑到了屏幕正中间。而正常拖动窗口时计算的top,left应该是按屏幕左上角得到的(因为iview会在拖动时将.ivu-modal的top值改为0,宽度变为auto),所以就会出现对话框跑偏了(甚至跑出屏外看不到)。

标签:draggable,Modal,对话框,拖动,dragable,content,ivu,modal
来源: https://www.cnblogs.com/johnjackson/p/14918018.html