# TopPopup 顶部弹出层

概述

TopPopup 顶部弹出层,从顶部弹出的浮层,引导用户进行相关操作。

# 支持平台

App-vue App-Nvue 微信小程序 支付宝小程序 钉钉小程序 百度小程序 字节小程序 QQ小程序 H5/PC

温馨提示

一般来说我们会通过 z-index + position 来进行层级的设置,但是 weex (Nvue)不支持 z-index 设置层级关系,默认越靠后的元素层级越高。

# 引入

以下介绍两种常用的引入方式。
第一种:在页面中引用、注册
import fuiTopPopup from "@/components/firstui/fui-top-popup/fui-top-popup.vue"
export default {
	components:{
		fuiTopPopup
	}
}
1
2
3
4
5
6
第二种:easycom组件规范
传统vue组件,需要安装、引用、注册,三个步骤后才能使用组件。easycom将其精简为一步。

First UI easycom配置请查看 快速上手

如果不了解easycom,可先查看 官网文档 (opens new window)

# 代码演示

部分示例演示,完整使用请参考示例程序以及文档API(以下示例写于.vue页面中)。
基础使用

通过 show 属性控制是否显示顶部弹出层,@close 事件为当 maskClosable 属性值为true时点击遮罩回调事件,通过设置 show 属性为false来关闭顶部弹出层。

<fui-top-popup :show="show" @close="closePopup">
	<view class="fui-custom__wrap">
		这是自定义内容区
	</view>
</fui-top-popup>
1
2
3
4
5
/* 自定义内容区样式需自行控制 */
.fui-custom__wrap {
	width: 100%;
	height: 520rpx;
	display: flex;
	align-items: center;
	justify-content: center;
}
1
2
3
4
5
6
7
8
data() {
	return {
		show: false
	}
},
methods: {
	//调用此方法显示顶部弹出层
	showPopup(type) {
		this.show = true
	},
	closePopup(type) {
		this.show = false
	}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
内容可滚动

当内容较多需要滚动时,可在组件内部使用 scroll-view 来达到内容滚动效果(注意:组件内部自定义内容样式需要自行控制)。

<fui-top-popup :show="show" @close="closePopup">
	<view class="fui-scroll__wrap">
		<view class="fui-title">测试标题二</view>
		<scroll-view scroll-y class="fui-scroll__view">
			<fui-list-cell v-for="(item,index) in itemList" :key="index">item{{index+1}}</fui-list-cell>
		</scroll-view>
		<view class="fui-icon__close" @tap="closePopup">
			<fui-icon name="close" :size="48"></fui-icon>
		</view>
	</view>
</fui-top-popup>
1
2
3
4
5
6
7
8
9
10
11
.fui-scroll__wrap {
	padding-top: 30rpx;
	padding-bottom: 24rpx;
	position: relative;
}
.fui-title {
	font-size: 30rpx;
	font-weight: bold;
	text-align: center;
	padding-bottom: 24rpx;
}
.fui-icon__close {
	position: absolute;
	top: 24rpx;
	left: 24rpx;
}

.fui-scroll__view {
	width: 100%;
	height: 600rpx;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
data() {
	return {
		show: false,
		itemList: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
	}
},
methods: {
	//调用此方法显示顶部弹出层
	showPopup(type) {
		this.show = true
	},
	closePopup(type) {
		this.show = false
	}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# Slots

插槽名称 说明
default 自定义显示内容

# Props

属性名 类型 说明 默认值 平台差异说明
show Boolean 是否显示顶部弹出层 false -
background String 顶部弹出层背景颜色 #fff -
radius Number, String 顶部弹出层左下/右下圆角值,单位rpx 24 Nvue端若设置圆角被内部元素覆盖,请将内部元素也设置同样圆角值
zIndex Number, String 顶部弹出层z-index值 1001 Nvue端无效,默认越靠后的元素层级越高
maskClosable Boolean 点击遮罩 是否可关闭 true -
maskBackground String 遮罩背景色 rgba(0,0,0,.6) -

# Events

事件名 说明 回调参数
@close 点击遮罩层(maskClosable=true)时触发 -

示例预览

# 示例代码地址

FirstUITopPopup 顶部弹出层
Last Updated: 9/29/2022, 1:07:59 AM