Drawer 抽屉

基础用法

在 Stackblitz 中打开

带图标抽屉

在 Stackblitz 中打开

带标题抽屉

在 Stackblitz 中打开

带底部插槽抽屉

命令行调用

在 Stackblitz 中打开

Drawer Props

名称类型默认值描述必传
attachString / Function-抽屉挂载的节点,默认挂在组件本身的位置。数据类型为 String 时,会被当作选择器处理,进行节点查询。示例:'body' 或 () => document.body。TS 类型:AttachNode通用类型定义N
closeOnOverlayClickBooleantrue点击蒙层时是否触发抽屉关闭事件N
destroyOnCloseBooleanfalse抽屉关闭时是否销毁节点N
footerSlot / Function-抽屉的底部。TS 类型:TNode通用类型定义N
itemsArray-抽屉里的列表项。TS 类型:DrawerItem[] interface DrawerItem { title: string; icon?: TNode; }通用类型定义详细类型定义N
placementStringright抽屉方向。可选项:left/rightN
showOverlayBooleantrue是否显示遮罩层N
titleString / Slot / Function-抽屉的标题。TS 类型:string \| TNode通用类型定义N
visibleBooleanfalse组件是否可见N
zIndexNumber-抽屉层级,样式默认为 1500N
onCloseFunctionTS 类型:(trigger: DrawerTriggerSource) => void
关闭时触发。。详细类型定义
type DrawerTriggerSource = 'overlay'
N
onItemClickFunctionTS 类型:( index: number, item: DrawerItem, context: { e: MouseEvent }) => void
点击抽屉里的列表项
N
onOverlayClickFunctionTS 类型:(context: { e: MouseEvent }) => void
如果蒙层存在,点击蒙层时触发
N

Drawer Events

名称参数描述
close(trigger: DrawerTriggerSource)关闭时触发。。详细类型定义
type DrawerTriggerSource = 'overlay'
item-click( index: number, item: DrawerItem, context: { e: MouseEvent })点击抽屉里的列表项
overlay-click(context: { e: MouseEvent })如果蒙层存在,点击蒙层时触发

DrawerOptions

名称类型默认值描述必传
classNameString-抽屉类名,示例:'t-class-drawer-first t-class-drawer-second'N
styleString / Object-弹框 style 属性,输入 CSSStyleDeclaration.cssText。TS 类型:string \| Styles通用类型定义N
Omit<DrawerProps, 'attach'>--继承 Omit<DrawerProps, 'attach'> 中的全部属性N

DrawerInstance

名称参数返回值描述
destroy--销毁抽屉
hide--隐藏抽屉
show--显示抽屉
update(props: DrawerOptions)-更新抽屉内容

DrawerPlugin

同时也支持 this.$drawer

参数名称参数类型参数默认值参数描述
options--TS 类型:DrawerOptions

CSS Variables

组件提供了下列 CSS 变量,可用于自定义样式。

名称默认值描述
--td-drawer-bg-color@bg-color-container-
--td-drawer-border-color@border-color-
--td-drawer-footer-padding-bottom20px-
--td-drawer-hover-color@bg-color-secondarycontainer-
--td-drawer-item-height24px-
--td-drawer-item-icon-size24px-
--td-drawer-item-padding16px-
--td-drawer-sidebar-height70vh-
--td-drawer-title-color@drawer-title-color-
--td-drawer-title-color@font-gray-1-
--td-drawer-title-font-size18px-
--td-drawer-title-padding24px 16px 8px-
--td-drawer-width280px-

何时使用

需要收折展示一组数量较多的菜单时使用

组件搭配使用

抽屉与按钮组合使用,通过按钮点击唤起抽屉。

常见用法

在网站场景,通常用来收折展示整个网站的菜单导航。

在应用场景,通常用来承载某类相关性较强的或较为低频的,如个人中心、设置等场景。

推荐/慎用示例

若抽屉内的菜单项较多,且菜单项之间的关联性存在差异时,建议对菜单项进行分组。

相似组件

组件名何时使用
动作面板需要提供一组与当前场景操作相关的关联操作时使用。
对话框需要用户做一些决定,或这提供完成某个任务是需要的一些额外信息时使用。
下拉菜单当内容较多时,需要通过筛选快速定位某一类内容时使用。
选择器当需要在有限的空间展示大量选项供用户选择,或者一组选项由递进层级构成需要用户逐级选择时使用。