React 组件

UGSheet 抽屉

UGSheet 用于承载补充信息、筛选条件和不打断主流程的侧边操作。

导入方式

按需从包入口导入组件,并在应用入口引入一次样式文件。

tsx
import { UGSheet } from '@ug666/ui-react'

变体预览

左侧抽屉与右侧抽屉。

状态展示

UGSheet 通常配合打开、关闭和只读摘要状态使用。

三种尺寸

宽度由 size 管理;面板边界、正文滚动和底部操作区保持同一 Anatomy。

代码示例

适合在不离开当前页面的前提下展示补充上下文。

tsx
import { useState } from 'react'
import { UGButton, UGSheet } from '@ug666/ui-react'

export function FilterDrawer() {
  const [open, setOpen] = useState(false)

  return (
    <>
      <UGButton onClick={() => setOpen(true)}>打开筛选</UGButton>
      <UGSheet open={open} onClose={() => setOpen(false)} side="right" title="筛选条件">
        <p className="text-sm text-text-secondary">这里放置筛选表单。</p>
      </UGSheet>
    </>
  )
}

属性

属性类型默认值说明
openbooleanfalse控制抽屉显示状态。
onClose() => void点击遮罩或按下 ESC 时触发。
side'left' | 'right''right'设置抽屉滑出方向。
size'sm' | 'md' | 'lg''md'设置面板宽度;移动端始终限制在视口内。
titlestring抽屉标题栏文本。
closeOnOverlaybooleantrue点击遮罩时是否关闭。
closeOnEscbooleantrue按下 ESC 时是否关闭。
showCloseButtonbooleantrue是否显示内置且具有可访问名称的关闭按钮。
footerReactNode固定在面板底部的操作区,自动提供边界、间距与换行。