Skip to content

BottomSheet 底部抽屉 ​

移动端底部抽屉承载件:底部升起面板 + 拖拽把手 + 遮罩,下滑把手/点遮罩/Esc 三种关闭手势,safe-area 刘海屏手势区与焦点陷阱内置;passive 被动透传模式可作浮层组件 PC 形态的结构占位。

基础用法 ​

基础用法

打开抽屉

面板从底部升起并带遮罩;下滑把手(超过阈值)、点击遮罩、按 Esc 均会请求关闭——oas-close 的 detail.reason 区分来源(drag / backdrop / esc)。组件不擅自改受控 open,收起由宿主移除属性完成。

max-height 与内容滚动 ​

max-height 与内容滚动

限高抽屉(50vh)

max-height 限制面板最大高度(默认 85vh),内容超出时在面板内部滚动,不撑破视口。

passive 被动透传(结构占位) ​

passive 被动透传(结构占位)

passive 模式:无遮罩、无把手、无浮层定位与手势行为,仅静态渲染结构占位——虚线框示意承载结构边界(passive 下宿主为 display:contents,不留自身盒),供浮层组件 PC 形态复用同一结构(SSR/客户端结构严格一致)。

API ​

oas-bottom-sheet ​

属性 ​

属性说明类型默认值
max-height面板最大高度,默认 85vh;内容超出时在面板内部滚动string—
open受控展开态(唯一状态源)。抽屉打开时显示底部面板与遮罩;下滑把手/点遮罩/Esc 手势只派发 oas-close 请求,由宿主移除 open 完成收起(组件不擅自改受控值)boolean—
passive被动透传模式——隐藏遮罩与拖拽把手、取消浮层定位与手势行为,仅渲染静态结构占位(供浮层组件 PC 形态结构复用;SSR/客户端结构严格一致)boolean—

事件 ​

事件说明
oas-close请求关闭,detail.reason 为 drag(下滑把手超阈值)/ backdrop(点击遮罩)/ esc(Esc 键);组件只派发事件不改 open,由宿主决定收起

插槽 ​

名称说明
默认面板主体内容

CSS 变量 ​

CSS 变量默认值
--oas-bottom-sheet-max-height85vh
--oas-glass-blurnone
--oas-glass-ringtransparent
  • open 为受控属性:组件手势(下滑/遮罩/Esc)只派发 oas-close,收起由宿主移除 open 完成。
  • 焦点陷阱内置:打开时焦点移到面板内首个可聚焦元素并锁在面板内;safe-area-inset-bottom 自动适配刘海屏手势区。
  • passive 模式面向浮层组件的 PC 形态结构复用(select/date-picker 等移动形态的承载底座),单独使用时即静态面板。

基于 MIT OR Apache-2.0 双许可发布