1.0.2 • Published 1 month ago

@tanzhenxing/zx-drawer v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
1 month ago

zx-drawer 抽屉组件

zx-drawer 是一个从屏幕边缘滑出的抽屉面板组件,适用于临时展示表单、文档等内容。

基本用法

<template>
  <view>
    <button @click="drawer = true">打开抽屉</button>
    
    <zx-drawer v-model="drawer" title="我是标题">
      <view>抽屉内容</view>
    </zx-drawer>
  </view>
</template>

<script setup>
import { ref } from 'vue';

const drawer = ref(false);
</script>

不同方向

抽屉可以从四个方向打开:

  • 从右至左(默认):direction="rtl"
  • 从左至右:direction="ltr"
  • 从上至下:direction="ttb"
  • 从下至上:direction="btt"
<zx-drawer v-model="drawer" title="标题" direction="ltr">
  <view>从左侧打开的抽屉</view>
</zx-drawer>

自定义大小

可以通过 size 属性控制抽屉的大小,接受数字(像素值)或字符串(百分比)。

<zx-drawer v-model="drawer" title="标题" size="50%">
  <view>占屏幕宽度50%的抽屉</view>
</zx-drawer>

自定义头部

可以通过 header 插槽自定义头部内容:

<zx-drawer v-model="drawer">
  <template #header>
    <view class="custom-header">自定义头部</view>
  </template>
  <view>抽屉内容</view>
</zx-drawer>

底部插槽

通过 footer 插槽添加底部内容:

<zx-drawer v-model="drawer" title="标题">
  <view>抽屉内容</view>
  <template #footer>
    <view class="footer-btns">
      <button @click="drawer = false">取消</button>
      <button type="primary" @click="handleConfirm">确认</button>
    </view>
  </template>
</zx-drawer>

API

Props

属性名说明类型默认值
v-model是否显示抽屉booleanfalse
title抽屉标题string''
direction打开方向(ltr/rtl/ttb/btt)string'rtl'
size抽屉大小,支持数字(px)或字符串(%)number/string'30%'
modal是否显示遮罩层booleantrue
append-to-body是否挂载到 body 元素上booleanfalse
with-header是否显示头部booleantrue
show-close是否显示关闭按钮booleantrue
close-on-click-modal是否可通过点击遮罩层关闭booleantrue
close-on-press-escape是否可通过按下 ESC 关闭booleantrue
destroy-on-close关闭时是否销毁子元素booleanfalse
before-close关闭前的回调,可阻止关闭function-
z-index抽屉的 z-indexnumber2000
custom-class自定义类名string''

事件

事件名说明回调参数
open抽屉打开的回调-
opened抽屉打开动画结束时的回调-
close抽屉关闭的回调-
closed抽屉关闭动画结束时的回调-

插槽

插槽名说明
default抽屉内容
header自定义头部
footer自定义底部
1.0.2

1 month ago

1.0.1

2 months ago