uniapp组件库Popup 弹出层 的使用方法

news2024/11/25 20:25:08

目录

#平台差异说明

#基本使用

#设置弹出层的方向

#设置弹出层的圆角

#控制弹窗的宽度 | 高度

#内容局部滚动

#API

#Props

#Event


弹出层容器,用于展示弹窗、信息提示等内容,支持上、下、左、右和中部弹出。组件只提供容器,内部内容由用户自定义

#平台差异说明

AppH5微信小程序支付宝小程序百度小程序头条小程序QQ小程序

#基本使用

  • 弹出层的内容通过slot传入,由用户自定义
  • 通过v-model绑定一个布尔值的变量控制弹出层的打开和收起
<template>
	<view>
		<u-popup v-model="show">
			<view>出淤泥而不染,濯清涟而不妖</view>
		</u-popup>
		<u-button @click="show = true">打开</u-button>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				show: false
			}
		}
	}
</script>

#设置弹出层的方向

  • 可以通过mode参数设置,可以设置为lefttoprightbottomcenter
<template>
	<u-popup v-model="show" mode="top">
		<view>
			人生若只如初见,何事秋风悲画扇
		</view>
	</u-popup>
</template>

#设置弹出层的圆角

可以给border-radius设置一个值来给弹窗增加圆角,单位rpx。

<template>
	<u-popup v-model="show" mode="top" border-radius="14">
		<view>
			人生若只如初见,何事秋风悲画扇
		</view>
	</u-popup>
</template>

#控制弹窗的宽度 | 高度

这里说的宽度,指的是左边,右边,中部弹出的场景,高度指的是顶部和底部弹出的场景(因为这两个场景宽度都是100%)。
uView提供了length来控制此种情况,此值可以是数值(单位rpx),auto百分比等,内部会自动处理对应的逻辑。 如果为auto的时候,表示弹窗的宽度 | 高度由内容撑开。

1.3.7版本新增widthheight参数: 1.3.7

1.3.7版本后,优先推荐widthheight参数,并且优先级会高于length,这3个参数都可以设置百分比auto数值(单位rpx)、或者是带pxrpx单位的字符串:

  • width只对mode = left | center | right模式有效
  • height只对mode = top | center | bottom模式有效

提示

1.3.7版本后,内置了scroll-view元素,内如内容超出容器的高度,将会自动获得垂直滚动的特性,如果您因为在slot内容做了滚动的处理,而造成了 冲突的话,请移除自定义关于滚动部分的逻辑。

<template>
	<u-popup v-model="show" mode="top" length="60%">
		<view>
			等闲变却故人心,却道故人心易变
		</view>
	</u-popup>
	
	<u-popup v-model="show" mode="center" width="500rpx" height="600px">
		<view>
			骊山语罢清宵半,泪雨霖铃终不怨
		</view>
	</u-popup>
</template>

#内容局部滚动

如果您需要让弹窗中的内容局部滚动,局部固定,比如商城底部弹出SKU选择的场景,可以按如下思路进行处理:

  1. 在弹窗内容中放一个scroll-view组件,设置为竖向滚动,并指定高度(必须)
  2. scroll-view组件下方放一块无需滚动内容,如下:
<template>
	<view class="">
		<u-button @click="show = true;">打开弹窗</u-button>
		<u-popup mode="bottom" v-model="show">
			<view class="content">
				<scroll-view scroll-y="true" style="height: 300rpx;">
					<view>
						<view v-for="index in 20" :key="index">
							第{{index}}个Item
						</view>
					</view>
				</scroll-view>
				<view class="confrim-btn">
					<u-button @click="show = false;">确定</u-button>
				</view>
			</view>
		</u-popup>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				show: false
			}
		}
	}
</script>

<style lang="scss" scoped>
	.content {
		padding: 24rpx;
		text-align: center;
	}
</style>

#API

#Props

注意:props中没有控制弹窗打开与收起的参数,因为这是通过v-model绑定变量实现的,见上方说明。

参数说明类型默认值可选值
mode弹出方向Stringlefttop / right / bottom / center
mask是否显示遮罩Booleantruefalse
lengthmode=left | 见上方说明String | Numberauto-
zoom是否开启缩放动画,只在modecenter时有效Booleantruefalse
safe-area-inset-bottom是否开启底部安全区适配Booleanfalsetrue
mask-close-able点击遮罩是否可以关闭弹出层Booleantruefalse
custom-style用户自定义样式Object--
border-radius弹窗圆角值Number | String0-
z-index弹出内容的z-indexNumber | String10075-
closeable是否显示关闭图标Booleanfalsetrue
close-icon关闭图标的名称,只能uView的内置图标Stringclose-
close-icon-pos自定义关闭图标位置,top-left为左上角,top-right为右上角,bottom-left为左下角,bottom-right为右下角Stringtop-righttop-left / bottom-left / bottom-right
close-icon-color关闭图标的颜色String#909399-
close-icon-size关闭图标的大小,单位rpxString | Number30-
width 1.3.7mode = left | center | right时有效,优先级高于lengthString | Number--
height 1.3.7mode = top | center | bottom时有效,优先级高于lengthString | Number--
negative-top中部弹出时,以避免可能弹出的键盘重合,往上偏移的值,单位任意,数值则默认为rpx单位String | Number0-
mask-custom-style 1.5.4遮罩自定义样式,一般用于修改遮罩透明度对象形式,如:{background: 'rgba(0, 0, 0, 0.5)'}Object--
duration 1.6.6遮罩打开或收起的动画过渡时间,单位msString | Number250-

#Event

事件名说明回调参数版本
open弹出层打开--
close弹出层收起--

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1400186.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言总结十一:自定义类型:结构体、枚举、联合(共用体)

本篇博客详细介绍C语言最后的三种自定义类型&#xff0c;它们分别有着各自的特点和应用场景&#xff0c;重点在于理解这三种自定义类型的声明方式和使用&#xff0c;以及各自的特点&#xff0c;最后重点掌握该章节常考的考点&#xff0c;如&#xff1a;结构体内存对齐问题&…

Java 数组原理内存图

Java 虚拟机的内存划分 为了提高运算效率&#xff0c;就对空间进行了不同区域的划分&#xff0c;因为每一片区域都有特定的处理数据方式和内存管理方式。 JVM 的内存划分 数组在内存中的存储 一个数组内存图 public static void main(String[] args) {int[] nums new int[] {1…

64位ATT汇编语言as汇编ld链接,执行报错Segmentation fault

absCallAndPrintAbsAsLd.s里边的内容如下&#xff1a; .section .datastringToShow:.ascii "The abs of number is %d\n\0" .global _start .section .text _start:pushq %rbpmovq %rsp,%rbpmovq $-5,%rdicall absmovq $stringToShow,%rdimovq %rax,%rsicall printf…

鸿蒙星河版启航,开发者驶入生态新征程

操作系统市场的气候已经不同以往。在鸿蒙决定不再兼容安卓之后&#xff0c;这里正欲长出一片全新的天地。 四年前&#xff0c;华为鸿蒙系统横空出世&#xff0c;彼时它还不完全与安卓和iOS的性质划等号&#xff0c;而是定义为物联网操作系统。而如今的华为鸿蒙要改写故事篇章&…

关于C语言整型提升的讲解

目录 1.什么是整型提升 2.整型提升的意义 3.整型提升是怎么提升的 4.整型提升的实例 1.什么是整型提升 C语言中的整型算术运算总是以缺省&#xff08;默认&#xff09;整型类型的精度来进行的。为了获得这个精度&#xff0c;表达式中的字符和短整型操作数在使用之前会被转换…

go语言(十一)----面向对象继承

一、面向对象继承 写一个父类 package mainimport "fmt"type Human struct {name stringsex string }func (this *Human) Eat() {fmt.Println("Human.Eat()...") }func (this *Human) Walk() {fmt.Println("Human.Walk()...") }func main() {h…

JNPF低代码开发平台总体架构介绍

目录 一、JNPF介绍 二、团队能力 三、技术选型 1.后端技术栈 2.前端技术栈 3.数据库支持 四、JNPF界面示意图 五、开发环境 一、JNPF介绍 JNPF是一款企业级低代码开发平台。基于Springboot、Vue技术&#xff0c;采用微服务、前后端分离架构&#xff0c;基于可视化数据建…

虹科分享 | Redis与MySQL协同升级企业缓存

文章速览&#xff1a; MySQL为什么需要Redis EnterpriseRedis Enterprise带来哪些优势Redis Enterprise与MySQL协同 传统的MySQL数据库在处理大规模应用时已经到了瓶颈&#xff0c;Redis Enterprise怎样助力突破这一瓶颈&#xff1f;Redis Enterprise与MYSQL共同用作企业级缓存…

ChatGPT 如何解决 “Something went wrong. lf this issue persists ….” 错误

Something went wrong. If this issue persists please contact us through our help center at help.openai.com. ChatGPT经常用着用着就出现 “Something went wrong” 错误&#xff0c;不管是普通账号还是Plus账号&#xff0c;不管是切换到哪个节点&#xff0c;没聊两次就报…

什么是中间件?

文章目录 为什么需要中间件&#xff1f;中间件生态漫谈数据库中间件读写分离分库分表引进数据库中间件MyCat 服务端代理模式ShardingJDBC 客户端代理模式 总结 IT 系统从单体应用逐渐向分布式架构演变&#xff0c;高并发、高可用、高性能、分布式等话题变得异常火热&#xff0c…

开源项目_一键发布 markdown 到各个平台_Wechatsync

1 使用场景 最近文章更新比较频繁&#xff0c;基本是日更。因此花费了相当多的时间在不同平台之间同步。时间主要消耗在&#xff1a;需要大致浏览一遍文章内容&#xff0c;另外某些平台需要手动上传图片&#xff0c;有时还需要调整排版。 为了解决这个问题&#xff0c;我选择…

Addressables(1) 从安装到加载单个/多个资源

不想再配改那些狗屎路径&#xff0c;准备研究一下Adressable&#xff0c;据说可以用key加载指定的资源 刚安装下来&#xff0c;随便搞了个资源勾选了一下addressable的框框&#xff0c;多了好多东西啊 概念铺天盖地而来&#xff0c;ok 没事的 慢慢来&#xff01; 前置知识 P…

【llm 使用llama 小案例】

huggingfacehttps://huggingface.co/meta-llama from transformers import AutoTokenizer, LlamaForCausalLMPATH_TO_CONVERTED_WEIGHTS PATH_TO_CONVERTED_TOKENIZER # 一般和模型地址一样model LlamaForCausalLM.from_pretrained(PATH_TO_CONVERTED_WEIGHTS) tokenize…

短视频解析单页源码

这个一个网页html解析短视频无水印视频的源码&#xff0c;电脑直接打开也可以本地使用&#xff0c;也可以上传到网站搭建成网页使用。 代码如下&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>短视频解析&l…

计算机毕业设计选题分享-ssm租房小程序42196(赠送源码数据库)JAVA、PHP,node.js,C++、python,大屏数据可视化等

毕业设计 ssm租房小程序 院 系&#xff1a; 姓 名&#xff1a; 学 号&#xff1a; 专 业&#xff1a; 年 级&#xff1a; 指导教师&#xff1a; 职 称&#xff1…

HYBBS 表白墙网站PHP程序源码 可封装成APP

源码介绍 PHP表白墙网站源码&#xff0c;可以做校园内的&#xff0c;也可以做校区间的&#xff0c;可封装成APP。告别QQ空间的表白墙吧。 安装PHP5.6以上随意 上传程序安装&#xff0c;然后设置账号密码&#xff0c;登陆后台切换模板手机PC都要换开启插件访问前台。 安装完…

MySQL隔离性的进阶理解

数据库的并发场景有三种 读-读&#xff1a;没有问题读-写&#xff1a;有线程安全问题&#xff0c;可能会造成事务隔离性问题&#xff0c;如&#xff1a;脏读&#xff0c;幻读&#xff0c;不可重复读写-写&#xff1a;有线程安全问题&#xff0c;可能会存在更新丢失问题&#xf…

使用OpenCV绘制图形

使用OpenCV绘制图形 绘制黄色的线&#xff1a; # 绘制一个黑色的背景画布 canvas np.zeros((300, 300, 3), np.uint8) # 在画布上&#xff0c;绘制一条起点坐标为(150, 50)、终点坐标为(150, 250)&#xff0c;黄色的&#xff0c;线条宽度为20的线段 canvas cv2.line(canvas,…

AI基于近邻图的向量搜索案例(二)

Graph部分 Graph部分&#xff0c;通过先构建KNN图&#xff0c;再根据RNG Rule移除不符合要求的边&#xff0c;得到RNG。 KNN图的构建 KNN图是指对于样本数据中的每一个点&#xff0c;将其自身与K个近邻点连接而形成的图。 由于样本数据规模非常大&#xff0c;我们采用了一定…

AI+量化02_金融市场的基础概念

文章目录 问答之纯小白 vs GPT4Q1. 请用尽可能简短的语句或例子&#xff0c;给小白讲解宏观经济Q2. 给小白讲解资本边际效率 思维导图 目标: 掌握量化金融知识、使用Python进行量化开发 背景&#xff1a;纯小白 参考资料&#xff1a;https://github.com/datawhalechina/whale-q…