# TopPopup 顶部弹出层 V1.1.0+

概述

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

# 支持平台

目前开发小程序与H5推荐使用 FirstUI nvue版本 (opens new window)

安卓系统版本 安卓uni-app 安卓uniapp-x iOS系统版本 iOS uniapp iOS uniapp-x 小程序 H5/Web
5.0 × 9.0 × × ×

# 引入

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

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

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

# 代码演示

部分示例演示,完整使用请参考示例程序以及文档API。
基础使用

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

<fui-button type="gray" btn-size="medium" text="基础使用" :bold="true" margin="24rpx"
	@click="showPopup"></fui-button>
<fui-top-popup :visible="visible" @close="closePopup">
	<view class="fui-custom__wrap">
		<text class="fui-text">这是自定义内容区</text>
	</view>
</fui-top-popup>
1
2
3
4
5
6
7
.fui-custom__wrap {
	width: 100%;
	height: 520rpx;
	display: flex;
	align-items: center;
	justify-content: center;
}
1
2
3
4
5
6
7
export default {
	data() {
		return {
			visible: false
		}
	},
	methods: {
		showPopup() {
			this.visible = true
		},
		closePopup() {
			this.visible = false
		}
	}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
内容可滚动

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

<fui-button type="gray" btn-size="medium" text="内容可滚动" margin="24rpx" :bold="true"
	@click="showPopup">
</fui-button>
<fui-top-popup :visible="visible3" @close="closePopup">
	<view class="fui-scroll__wrap">
		<text class="fui-title fui-title__pb">测试标题二</text>
		<scroll-view :scroll-y="true" :show-scrollbar="false" class="fui-scroll__view">
			<view>
				<fui-list-cell v-for="(item,index) in itemList" :key="index">
					<text class="fui-text">item{{item}}</text>
				</fui-list-cell>
			</view>
		</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
12
13
14
15
16
17
18
.fui-scroll__wrap {
	width: 100%;
	padding-top: 30rpx;
	padding-bottom: 24rpx;
	position: relative;
}
.fui-sub__title {
	text-align: center;
	font-size: 24rpx;
	color: #7F7F7F;
	transform: scale(.9);
}
.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
22
export default {
	data() {
		return {
			visible3: false,
			itemList: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
		}
	},
	methods: {
		showPopup() {
			this.visible3 = true
		},
		closePopup() {
			this.visible3 = false
		}
	}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# Slots

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

# Props

属性名 类型 说明 默认值 平台差异说明
visible Boolean 是否显示顶部弹出层 false -
background String 顶部弹出层背景颜色 #fff -
radius Number 顶部弹出层左下/右下圆角值,单位rpx 24 -
zIndex Number 顶部弹出层z-index值 1001 -
maskClosable Boolean 点击遮罩 是否可关闭 true -
maskBackground String 遮罩背景色 rgba(0,0,0,.6) -

# Events

事件名 类型 说明 回调参数
@close () => void 点击遮罩层(maskClosable=true)时触发 -
@update:visible (event: boolean) => void 点击遮罩层(maskClosable=true)时触发,用于双向绑定 boolean:属性visible设置为false

示例预览

# 示例代码地址

FirstUITopPopup 顶部弹出层
Last Updated: 1/29/2024, 6:27:37 PM