Skip to content

Curtain 幕帘

用于营销弹窗、活动海报、领券引导、新人礼包等全屏或居中展示的幕帘型浮层。支持图片模式和完全自定义插槽模式。

基础用法

vue
<script setup lang="ts">
import { ref } from 'vue'

const show = ref(false)
</script>

<template>
  <lk-button @click="show = true">显示幕帘</lk-button>

  <lk-curtain
    v-model="show"
    image-url="https://img.yzcdn.cn/vant/apple-1.jpg"
  />
</template>

关闭按钮位置

vue
<lk-curtain
  v-model="show"
  image-url="https://img.yzcdn.cn/vant/apple-2.jpg"
  close-position="top-right"
/>

可选值包括:top-lefttop-rightbottom-leftbottom-rightbottom

点击遮罩关闭

vue
<lk-curtain
  v-model="show"
  image-url="https://img.yzcdn.cn/vant/apple-3.jpg"
  close-on-overlay
/>

自定义内容

如果要做优惠券、活动卡片、复杂营销布局,推荐直接使用默认插槽。

vue
<lk-curtain
  v-model="show"
  width="580rpx"
  height="800rpx"
  close-position="bottom"
>
  <view style="width:100%;height:100%;background:linear-gradient(180deg,#ff4444 0%,#ff8855 100%);border-radius:32rpx">
    <view style="padding:48rpx;color:#fff;font-size:40rpx;font-weight:700">新人专享礼</view>
  </view>
</lk-curtain>

点击跳转

vue
<lk-curtain
  v-model="show"
  image-url="https://img.yzcdn.cn/vant/apple-1.jpg"
  link="/pages/index/index"
  link-type="navigateTo"
/>

link 是 http 地址时,H5 会直接跳转,App 会尝试外部打开,小程序端会复制链接。

推荐示例

1) 直接复用项目 Demo(推荐)

vue
<script setup lang="ts">
import CurtainDemo from '@/components/demos/curtain-demo.vue'
</script>

<template>
  <CurtainDemo />
</template>

2) 在业务页中按需组合

vue
<template>
  <view class="page-demo">
    <lk-curtain />
  </view>
</template>

API

Props

参数说明类型默认值
zIndex层级number10090
modelValue是否显示,支持 v-modelbooleanfalse
imageUrl幕帘图片地址string''
imageMode图片裁剪模式CurtainImageModewidthFix
width幕帘宽度string | number'600rpx'
height幕帘高度string | number''
closePosition关闭按钮位置top-left | top-right | bottom-left | bottom-right | bottombottom
closeOffset角位关闭按钮偏移。正值代表内侧(浮在图片上),负值代表外侧(完全脱离图片,且水平对齐边缘不超出)。支持 rpxpx 变量string | number'24rpx'
closeOffsetBottom底部关闭按钮偏移。自动转为负值偏移(偏离到图片底部下方)string | number'80rpx'
closeOnOverlay点击遮罩是否关闭booleanfalse
link点击内容后的跳转地址string''
linkType跳转方式navigateTo | redirectTo | reLaunch | switchTab | navigateBacknavigateTo

Events

事件名说明回调参数
update:modelValue显示状态变化(show: boolean)
close点击关闭按钮时触发()
click点击幕帘内容时触发()
click-overlay点击遮罩层时触发()

Slots

插槽名说明
default自定义幕帘内容;存在插槽时将不再渲染 imageUrl 图片

使用建议

TIP

简单活动海报直接用 imageUrl;复杂营销内容、按钮组合、优惠券布局建议改用默认插槽。

发布验收

lk-curtain 已纳入 needs-hardening showcase 回归,发布前按下面边界验收:

场景验收方式要点
展示台基线自动回归tests/visual/needs-hardening-showcase.spec.ts 校验组件路由、verified 状态与中风险标记
浮层关闭人工验收关闭按钮位置、遮罩点击和 update:modelValue 在目标端一致
外链跳转人工验收H5 直接跳转、App 外部打开、小程序复制链接的端差说明可追溯

基于 MIT 协议开源 · 粤ICP备2022114240号-3

Curtain 幕帘

正在连接预览服务...

请先运行 pnpm run dev:h5