Skip to content

Drawer 抽屉

基础用法

  • 通常用于半屏窗口的场景。
  • 请注意区分 sn-popupsn-drawersn-popup只控制动画和显隐逻辑,UI 需要自己写。而 sn-drawer 则是在 sn-popup 的基础上加了一层 UI 模板。
  • 请注意区分 sn-drawersn-float-boardsn-drawer是弹出层,需要调用方法才能显示;而 sn-float-board 则始终显示,且可以通过用户手势操作完全显露。(可以把 sn-drawer 理解为关闭的抽屉, sn-float-board 则是半开的抽屉)
vue
<template>
	<sn-drawer ref="drawerEle"></sn-drawer>
  <sn-button text="打开"
  @click="show"></sn-button>
</template>

<script setup>
  const drawerEle = ref(null as SnDrawerComponentPublicInstance | null)
  function show(){
    drawerEle.value!.open()
  }
</script>

更多演示请下载 demo 查看

属性

参数说明类型默认值可选值
position抽屉显示的位置Stringbottomtop | right | bottom | left
renderMode渲染模式Stringv-ifv-if | v-show
showLine是否显示指示条Booleantruetrue | false
slideClose是否启用滑动关闭Booleantruetrue | false
widthpositionleft | right 时抽屉的宽度String300px-
heightpositiontop | bottom 时抽屉的高度String300px-
slideHeight抽屉纵向滑动阈值(达到阈值则关闭)String100px-
slideWidth抽屉横向滑动阈值(达到阈值则关闭)String100px-
bgColor抽屉的背景颜色String$front-
lineColor抽屉指示条颜色String$lineText-
padding抽屉内边距String25px 15px 10px 15px-
borderRadius抽屉圆角大小String$xlarge-
aniTime抽屉显示/关闭动画时长String$long-
preventBack抽屉显示时是否阻止页面返回事件Booleanfalsetrue | false
maskClose是否启用点击遮罩关闭Booleantruetrue | false
maskOpacity遮罩透明度Number0.3-
customStyle自定义抽屉样式UTSJSONObject{}-

插槽

名称说明
default在抽屉内部放置组件

事件

名称类型说明
open() => void打开抽屉时触发
close() => void关闭抽屉时触发
clickMask() => void(仅 maskClosetrue 时)点击遮罩时触发

方法

名称参数返回值描述
open--打开抽屉
close--关闭抽屉

使用 MIT 协议