Skip to content

演示APP

推荐浏览器扫码安装
组件类型:WxPopupComponentPublicInstance

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

平台兼容性

Android uni-app-xiOS uni-app-xweb小程序
××

基础用法

html
<template>
	<!-- #ifdef APP -->
	<scroll-view style="flex:1;" class="wx-pa-10">
	<!-- #endif -->
		<button class="wx-mt-15"  @click="openPopup()">中间弹出</button>
		<wx-popup ref="popupRef" mode="center" :round="12">
			<view style="width: 300px; height: 300px;" class="wx-pa-10">
				<text>弹出层</text>
			</view>
		</wx-popup>
	<!-- #ifdef APP -->
	</scroll-view>
	<!-- #endif -->
</template>

<script setup>
	// 通过 ref 获取popup组件类型
	let popupRef = ref<WxPopupComponentPublicInstance | null>(null)
	let openPopup = ()=> {
		popupRef.value!.open();
	}
</script>

弹出方式

通过设置 mode 属性,来指定弹出层的弹出方式(默认为 center )。

  • top 顶部弹出
  • center 中间弹出
  • bottom 底部弹出
  • left 左侧弹出
  • right 右侧弹出
html
<button class="wx-mt-15"  @click="openPopup()">底部弹出</button>
<wx-popup ref="popupRef" mode="bottom">弹出层</wx-popup>

设置背景色

通过设置 bgColor 属性,来设置弹出层的背景色。

html
<button class="wx-mt-15"  @click="openPopup()">中间弹出</button>
<wx-popup ref="popupRef" mode="center" bgColor="#e8e8e8">弹出层</wx-popup>

设置弹出层圆角

通过设置 round 属性,设置弹出层圆角。

html
<button class="wx-mt-15"  @click="openPopup()">中间弹出</button>
<wx-popup ref="popupRef" mode="center" :round="12">弹出层</wx-popup>

禁用点击遮罩关闭

默认情况下,点击遮罩会自动关闭 wx-popup,如不想点击关闭,只需将 closeOnClickOVerlay 设置为 false,这时候要关闭 wx-popup,只能手动调用 close 方法。

html
<template>
	<!-- #ifdef APP -->
	<scroll-view style="flex:1;" class="wx-pa-10">
	<!-- #endif -->
		<button class="wx-mt-15" @click="openPopup()">打开弹窗</button>
		<wx-popup ref="popupRef" mode="center" :round="12" :closeOnClickOVerlay="false">
			<view style="width: 300px; height: 300px;" class="wx-pa-10">
				<text>Popup</text>
	        	<button @click="closePopup">关闭</button>
			</view>
        </wx-popup>
	<!-- #ifdef APP -->
	</scroll-view>
	<!-- #endif -->
</template>

<script setup>
	// 通过 ref 获取popup组件类型
	let popupRef = ref<WxPopupComponentPublicInstance | null>(null)
	let openPopup = ()=> {
		popupRef.value!.open();
	}
	let closePopup = ()=> {
		popupRef.value!.close();
	}
</script>

API

Props

名称类型默认值描述
modestringcenter弹出方式
durationnumber300动画时长
z-indexnumber999层级
bgColorstring#fff主窗口背景色
closeOnClickOVerlaybooleantrue点击遮罩是否关闭弹窗
overlayOpacitynumber0.4遮罩层透明度
overlayStylen-自定义遮罩的样式
customStylen-自定义主题窗口样式
roundnumber-弹出层圆角值
zoomboolean-mode=center时,弹出是否使用缩放模式
closeablebooleanfalse是否显示关闭图标
closeIconSizenumber-关闭图标大小
closeIconPosstring-关闭图标位置

mode

值名称描述
top顶部弹出
center中间弹出
bottom底部弹出
left左侧弹出
right右侧弹出

closeIconPos

值名称描述
top-left左上角
top-right右上角
bottom-left左下角
bottom-right右下角

Methods

名称类型必填默认值描述
open() => void-打开弹出层
close() => void-关闭弹出层

Events

名称类型默认值描述
@change(event: WxPopupChangeEvent) => void-insertfalse 时,关闭弹窗日历时触发
@maskClick() => void-点击遮罩时触发,closeOnClickOVerlaytrue 时生效

WxPopupChangeEvent

名称类型必填默认值描述
showboolean-显示状态
typestring-弹出方式

Slots

插槽名称描述
default默认插槽

演示效果