Theme color Gray color Appearance SizeSmall(1) Medium(2) Large(3) Radius Scale90% 95% 100% 105% 110%
none
small
medium
large
full
注
noTopLayer
,非 Top Layer 的弹框由于为 fixed 定位,会受父级Containing Block影响noTopLayer
时,内部模拟的 focus trap 则会在弹框内部循环聚焦。如果需要 Top Layer Dialog 也遵循这个行为,请使用alwaysTrapFocus
属性。noLockScroll
Dialog
有一些静态方法,用于方便在 js 中直接创建并打开弹框
注
destroyAll
方法可以直接销毁所有由静态方法创建的弹框,由于是直接从文档中移除,所以不会触发close
或afterClose
事件,想要正常关闭所有可以使用closeAll
方法
嵌套打开多个模态框时只会展示一个蒙层,不会因为多个蒙层而越来越黑
如第一个示例所示,设置headerDraggable
便可以拖拽弹框的头部来移动弹框。如果想要自定义拖拽元素,则可以通过customDraggable
属性指定弹框内部哪些元素可拖拽
注
为方便选中文字,在按住 Alt 时不会触发拖拽
想要l-dialog
在某个容器里展示,其必须设置noTopLayer
,并放置于对应容器内,对应容器需要为 fixed 元素的 Containing Block。与全屏打开的弹框类似,容器内的弹框也拥有锁定容器滚动、只展示一个蒙层等特性,如果开启拖拽,弹窗也会被限制在容器内移动。
注
当容器内的弹框开启拖拽之后,由于默认使用了 transform 定位,这会更改子元素的 Containing Block,导致嵌套的弹框定位异常,如果有类似需求,可设置noTransform
属性,更改为 left/top 定位