Drawer
简易介绍
Drawer 抽屉组件,用于从页面边缘滑出的面板,常用于展示更多内容或操作。mengyue-components 进行了封装并进行了 vitest 测试。 可以使用 <MYDrawer></MYDrawer> 或者 <MYDrawer /> 来实现抽屉功能。
基本用法
基础抽屉
基础的抽屉组件,默认从右侧滑出。
代码演示
展开代码
不同方向
使用 direction 属性设置抽屉的弹出方向。
代码演示
展开代码
自定义尺寸
使用 size 属性设置抽屉的尺寸。
代码演示
展开代码
自定义背景色
使用 backgroundColor 属性自定义抽屉的背景颜色。
代码演示
展开代码
隐藏头部和关闭按钮
使用 with-header 和 show-close 属性控制头部和关闭按钮的显示。
代码演示
展开代码
带底部操作栏
使用 footer 插槽添加底部操作栏。
代码演示
展开代码
API 参考
Props
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| modelValue | 是否显示抽屉 | boolean | — | false |
| title | 抽屉标题 | string | — | '' |
| direction | 抽屉打开方向 | string | ltr/rtl/ttb/btt | rtl |
| size | 抽屉尺寸 | string | number | — | 30% |
| with-header | 是否显示头部 | boolean | — | true |
| show-close | 是否显示关闭按钮 | boolean | — | true |
| background-color | 抽屉背景色 | string | — | '' |
| close-on-click-modal | 是否可以通过点击遮罩层关闭抽屉 | boolean | — | true |
| close-on-press-escape | 是否可以通过按下 ESC 关闭抽屉 | boolean | — | true |
| lock-scroll | 是否在抽屉显示时将 body 滚动锁定 | boolean | — | true |
| before-close | 关闭前的回调函数 | function | — | undefined |
事件
| 事件名 | 说明 | 参数 |
|---|---|---|
| update:modelValue | 抽屉显示状态变化时触发 | value: boolean |
| open | 抽屉打开时触发 | — |
| close | 抽屉关闭时触发 | — |
插槽
| 插槽名 | 说明 |
|---|---|
| default | 抽屉主体内容 |
| title | 抽屉标题内容 |
| footer | 抽屉底部内容 |
类型定义
typescript
interface DrawerProps {
modelValue?: boolean;
title?: string;
direction?: 'ltr' | 'rtl' | 'ttb' | 'btt';
size?: string | number;
withHeader?: boolean;
showClose?: boolean;
backgroundColor?: string;
closeOnClickModal?: boolean;
closeOnPressEscape?: boolean;
lockScroll?: boolean;
beforeClose?: (done: () => void) => void;
}