Popup 弹出层

弹出层容器,用于展示弹窗、信息提示等内容。

代码演示

基础用法

<button type="primary" @click="openPop">开启弹出框</button>
<hd-popup ref="popup">
  <view>
    这是一个简单的弹出框
  </view>
</hd-popup>
<script lang="ts" setup>
import { Popup } from '@/uni_modules/fant-mini-plus/components/hd-popup/types'
import { ref } from 'vue'

const popup = ref<Popup>()

function openPop() {
  popup.value?.showPopup()
}

function closePop() {
  popup.value?.closePopup()
}
</script>

弹出框位置

通过type属性设置弹出位置,默认全屏弹出层(center),可以设置top( 顶部弹出层)bottom(底部弹出层)left(左侧弹出层)bottom(右侧弹出层)center(全屏弹出层)

<button type="primary" @click="openPop" :type="type">开启弹出框</button>
<hd-popup ref="popup">
  <view>
    这是一个简单的弹出框
  </view>
</hd-popup>
<script lang="ts" setup>
import { Popup } from '@/uni_modules/fant-mini-plus/components/hd-popup/types'
import { ref } from 'vue'

const popup = ref<Popup>()

function openPop() {
  popup.value?.showPopup()
}

function closePop() {
  popup.value?.closePopup()
}
</script>

关闭弹出框

通过maskClick属性控制点击蒙层是否关闭弹出框,默认允许点击蒙层关闭(maskClicktrue),当不允许点击蒙层关闭时,可以手动关闭弹出框。

<hd-popup ref="popup" :maskClick="maskClick">
  <view>
    这是一个简单的弹出框
    <view v-if="!maskClick" @click="onClose">
      <!-- 关闭按钮 -->
      <hd-icon name="ic_circleclose_line" size="48rpx"></hd-icon>
    </view>
  </view>
</hd-popup>
<script lang="ts" setup>
import { Popup } from '@/uni_modules/fant-mini-plus/components/hd-popup/types'
import { ref } from 'vue'

const popup = ref<Popup>() 

const maskClick = ref<boolean>(false)

function openPop() {
  popup.value?.showPopup()
}

function closePop() {
  popup.value?.closePopup()
}
</script>

Props

NameDescriptionTypeRequiredDefault
animation开启动画Booleanfalsetrue
type弹出层类型'top( 顶部弹出层)' / 'bottom(底部弹出层)' / 'left(左侧弹出层)'/ 'right(右侧弹出层)'/ 'center(全屏弹出层)'false默认值:'center'
overlay是否显示遮罩Booleanfalsetrue
maskClick是否允许点击蒙层关闭Booleanfalse默认值:true
backgroundColor背景颜色Stringfalsenone
duration动画时长,单位msNumberfalse300
overlayOpacity遮罩的透明度,0-1之间Numberfalse0.4
zIndex自定义层级Numberfalse999

Events

Event NameDescriptionParameters
change--
close弹层关闭时触发-
maskClick遮罩被点击时触发-
click--

Slots

NameDescriptionDefault Slot Content
default--