参考
抽屉 Drawer
Drawer:抽屉。整高面板从所在边缘滑入,并与边缘对齐,滑动位置由状态机的 translate 控制,顶部提供抓取条。部件:Root、Trigger、Backdrop、Positioner、Content、Grabber、GrabberIndicator、Title、Description、CloseTrigger、SwipeArea。
Positioner · Content · Title · Description · Trigger · Backdrop · Grabber · GrabberIndicator · CloseTrigger · SwipeArea
#Backdrop
纯造型的部件——自身没有属性,沿用部件结构的共享样式。
#CloseTrigger
纯造型的部件——自身没有属性,沿用部件结构的共享样式。
#Content
纯造型的部件——自身没有属性,沿用部件结构的共享样式。
#Description
纯造型的部件——自身没有属性,沿用部件结构的共享样式。
#GrabberIndicator
纯造型的部件——自身没有属性,沿用部件结构的共享样式。
#Grabber
纯造型的部件——自身没有属性,沿用部件结构的共享样式。
#IndentBackground
纯造型的部件——自身没有属性,沿用部件结构的共享样式。
#Indent
纯造型的部件——自身没有属性,沿用部件结构的共享样式。
#Positioner
纯造型的部件——自身没有属性,沿用部件结构的共享样式。
#Root
| 属性 | 类型 | 默认值 | 描述 |
|---|---|---|---|
closeOnEscape | boolean | true | 按下 Esc 键时是否关闭抽屉 |
closeOnInteractOutside | boolean | true | 点击外部时是否关闭抽屉 |
closeThreshold | number | 0.25 | 关闭抽屉的距离阈值 |
defaultOpen | boolean | 抽屉初始是否打开 | |
defaultSnapPoint | drawer.SnapPoint | null | 1 | 抽屉的默认吸附点 |
defaultTriggerValue | string | null | 初始触发器值;无需控制触发器值时使用 | |
finalFocusEl | () => HTMLElement | null | 抽屉关闭后聚焦的元素 | |
id | string | 组件内部状态机的唯一标识 | |
ids | Partial<{ backdrop: string; positioner: string; content: string; title: string; trigger: string; grabber: string; grabberIndicator: string; closeTrigger: string; }> | 抽屉内各元素的 id;便于组合使用 | |
initialFocusEl | () => HTMLElement | null | 抽屉打开后聚焦的元素 | |
modal | boolean | true | 是否阻止元素外部的指针交互,并隐藏其下方内容 |
open | boolean | 抽屉是否打开 | |
preventDragOnScroll | boolean | true | 是否阻止在可滚动元素上拖拽 |
preventScroll | boolean | true | 抽屉打开时是否阻止背后的页面滚动 |
restoreFocus | boolean | 是否把焦点恢复到抽屉打开前聚焦的元素 | |
role | 'dialog' | 'alertdialog' | "dialog" | 抽屉的 role |
snapPoint | drawer.SnapPoint | null | 当前启用的吸附点 | |
snapPoints | (number | string)[] | [1] | 抽屉的吸附点 |
snapToSequentialPoints | boolean | false | 滑动时是否依次吸附到相邻吸附点 |
swipeDirection | drawer.SwipeDirection | "down" | 抽屉可滑动的方向 |
swipeVelocityThreshold | number | 700 | 关闭抽屉的速度阈值(像素/秒) |
trapFocus | boolean | true | 抽屉打开时是否把焦点限制在内部 |
triggerValue | string | null | 当前打开抽屉的触发器值 |
| 事件 | 载荷 |
|---|---|
exitComplete | — |
openChange | details: OpenChangeDetails |
update:open | open: boolean |
snapPointChange | details: SnapPointChangeDetails |
update:snapPoint | snapPoint: SnapPoint | null |
triggerValueChange | details: TriggerValueChangeDetails |
update:triggerValue | triggerValue: string | null |
#Stack
纯造型的部件——自身没有属性,沿用部件结构的共享样式。
#SwipeArea
纯造型的部件——自身没有属性,沿用部件结构的共享样式。
#Title
纯造型的部件——自身没有属性,沿用部件结构的共享样式。
#Trigger
纯造型的部件——自身没有属性,沿用部件结构的共享样式。