Drawer

抽屉是从水平边缘滑入的面板——等价于一个 side 只取 "top" | "bottom"Sheet。下方预览由 pingo 引擎实时渲染,并跟随站点主题切换明暗。

用法

import { createElement } from "@dopejs/pingo";
import { Drawer } from "@dopejs/pingo-ui";

root.render(
  createElement(Drawer, {
    open,
    onOpenChange: (next) => setOpen(next),
    side: "bottom",
    children: createElement("text", { value: "抽屉内容" }),
  }),
);

浮层填满它自己的父容器,请挂载在靠近根节点的位置。open 为受控 prop;点击遮罩或按 Escape 会通过 onOpenChange(false) 请求关闭。面板内的标题/按钮区块可复用 DialogHeaderDialogTitleDialogDescriptionDialogFooter

示例

方向

side 支持 "top""bottom",默认 "bottom"

Props

继承 DialogPropsopenonOpenChangechildrenclassName),另有:

Prop 类型 默认值 说明
side "top" | "bottom" "bottom" 滑入边缘

无障碍

面板具备 complementary 语义;打开时焦点移入面板,Escape 关闭后焦点返回触发元素。

最后更新: