uniapp组件库Modal 模态框 的使用方法

news2024/11/16 23:31:39

目录

#平台差异说明

#基本使用

#传入富文本内容

#异步关闭

#点击遮罩关闭

#控制模态框宽度

#自定义样式

#缩放效果

#API

#Props

#Event

#Method

#Slots


弹出模态框,常用于消息提示、消息确认、在当前页面内完成特定的交互操作。

#平台差异说明

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

#基本使用

默认情况下,模态框只有一个确认按钮:

  • 请至少要配置弹框的内容参数content
  • 通过v-model绑定一个布尔变量来控制模态框的显示与否。
<template>
	<view>
		<u-modal v-model="show" :content="content"></u-modal>
		<u-button @click="open">
			打开模态框
		</u-button>
	</view>
</template>
	
<script>
	export default {
		data() {	
			return {
				show: false,
				content: '东临碣石,以观沧海'
			}
		},
		methods: {
			open() {
				this.show = true;
			}
		}
	}
</script>

#传入富文本内容

有时候我们需要给模态框的内容,不一定是纯文本的字符串,可能会需要换行,嵌入其他元素等,这时候我们可以使用slot功能,再结合uni-apprictText组件, 就能传入富文本内容了,如下演示:

<template>
	<view>
		<u-modal v-model="show" :title-style="{color: 'red'}">
			<view class="slot-content">
				<rich-text :nodes="content"></rich-text>
			</view>
		</u-modal>
		<u-button @click="open">
			打开模态框
		</u-button>
	</view>
</template>
	
<script>
	export default {
		data() {	
			return {
				show: false,
				content: `
					空山新雨后<br>
					天气晚来秋
				`
			}
		},
		methods: {
			open() {
				this.show = true;
			}
		}
	}
</script>
<style lang="scss" scoped>
	.slot-content {
		font-size: 28rpx;
		color: $u-content-color;
		padding-left: 30rpx;
	}
</style>

#异步关闭

异步关闭只对"确定"按钮起作用,需要设置async-closetrue,当点击确定按钮的时候,按钮的文字变成一个loading动画,此动画的颜色为 confirm-color参数的颜色,同时Modal不会自动关闭,需要手动设置通过v-model绑定的变量为false来实现手动关闭。

<template>
	<view class="">
		<u-modal v-model="show" @confirm="confirm" ref="uModal" :async-close="true"></u-modal>
		<u-button @click="showModal">弹起Modal</u-button>
	</view>
</template>

<script>
export default {
    data() {
        return {
			show: false
		}
	},
	onLoad: function(opt) {
		
	},
	methods:{
		showModal() {
			this.show = true;
		},
		confirm() {
			setTimeout(() => {
				// 3秒后自动关闭
				this.show = false;
				// 如果不想关闭,而单是清除loading状态,需要通过ref手动调用方法
				// this.$refs.uModal.clearLoading();
			}, 3000)
		}
    }
}
</script>

#点击遮罩关闭

有时候我们不显示"关闭"按钮的时候,需要点击遮罩也可以关闭Modal,这时通过配置mask-close-abletrue即可

<u-modal v-model="show" :mask-close-able="true"></u-modal>

#控制模态框宽度

可以通过设置width参数控制模态框的宽度,此值可以为数值(单位rpx),百分比,auto等。

<u-modal v-model="show" width="70%"></u-modal>

#自定义样式

此组件有完善的自定义功能,可以配置标题,内容,按钮等样式(传入对象形式),具体参数详见底部的API说明

<u-modal v-model="show" :title-style="{color: 'red'}"></u-modal>

#缩放效果

开启缩放效果,在打开和收起模态框的时候,会带有缩放效果,具体效果请见示例,此效果默认开启,通过zoom参数配置

<u-modal v-model="show" :zoom="false"></u-modal>

#API

#Props

注意:需要给modal组件通过v-model绑定一个布尔值,来初始化modal的状态,随后该值被双向绑定。

参数说明类型默认值可选值
show是否显示模态框,请赋值给v-modelBooleanfalsetrue
z-index层级String | Number1075-
title标题内容String提示-
width模态框宽度,数值时单位为rpxString | Number600百分比 / auto
content模态框内容,如传入slot内容,则此参数无效String内容-
show-title是否显示标题Booleantruefalse
show-confirm-button是否显示确认按钮Booleantruefalse
show-cancel-button是否显示取消按钮Booleanfalsetrue
confirm-text确认按钮的文字String确认-
cancel-text取消按钮的文字String取消-
cancel-color取消按钮的颜色String#606266-
confirm-color确认按钮的颜色String#2979ff-
border-radius模态框圆角值,单位rpxString | Number16-
title-style自定义标题样式,对象形式Object--
content-style自定义内容样式,对象形式Object--
cancel-style自定义取消按钮样式,对象形式Object--
confirm-style自定义确认按钮样式,对象形式Object--
zoom是否开启缩放模式Booleantruefalse
async-close是否异步关闭,只对确定按钮有效,见上方说明Booleanfalsetrue
mask-close-able是否允许点击遮罩关闭ModalBooleanfalsetrue
negative-top往上偏移的值,以避免可能弹出的键盘重合,单位任意,数值则默认为rpx单位 1.4.4String | Number0-

#Event

事件名说明回调参数
confirm点击确认按钮时触发-
cancel点击取消按钮时触发-

#Method

此方法需要通过ref调用,详见上方的"异步关闭"

事件名说明
clearLoading异步控制时,通过调用此方法,可以不关闭Modal,而单是清除loading状态

#Slots

名称说明
default传入自定义内容,一般为富文本,见上方说明
confirm-button 1.6.0传入自定义按钮,用于在微信小程序弹窗通过按钮授权的场景

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

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

相关文章

gin如何实现热更新

什么是热更新&#xff1f; 一种不需要用户关闭应用或重新启动设备就能进行的软件更新技术。它可以快速地在线修复或升级应用程序的错误或功能&#xff0c;从而减少用户的等待时间并提高用户体验。 如何优雅停止服务&#xff1f; Go 1.8版本之后&#xff0c; http.Server 内置…

CentOS使用

1.使用SSH连接操作虚拟机中的CentOS 使用代理软件(MobaX/Xshell)通过ssh连接vmware中的虚拟机,可以摆脱vmware笨重的软件,直接在代理软件中进行操作. 包括使用云虚拟器,其实也只是在本地通过ssh连接别处的云服务商的硬件而已. 1.1 配置静态IP 为什么要配置静态IP? 想要使用…

构建高可用消息队列系统 01

构建高可用消息队列系统 01 引言1. RabbitMQ简介介绍1.1 什么是RabbitMQ1.2 RabbitMQ的核心特性1.3 RabbitMQ与AMQP 2.安装RabbitMQ3.消息队列实践总结 引言 在当今互联网时代&#xff0c;消息队列系统扮演着至关重要的角色&#xff0c;它们被广泛应用于分布式系统、微服务架构…

Linux编辑器vim(含vim的配置)

文章目录 前言vim的基本概念vim基本操作进入vim模式切换退出vim vim指令vim命令模式指令vim底行模式命令 简单vim配置 前言 本篇文章&#xff0c;小编将介绍Linux编辑器–>vim以及vim的配置。 vim的基本概念 正常/普通/命令模式(Normal mode) 控制屏幕光标的移动&#xf…

年夜饭都吃什么菜?年夜饭菜谱保存到手机便签更便捷

农历除夕&#xff0c;是我国一年中最为重要的传统节日之一&#xff0c;而在这一天&#xff0c;全家团圆共进年夜饭是一种重要的仪式感。然而&#xff0c;随着现代生活的繁忙&#xff0c;很多人都在为年夜饭吃什么菜而发愁。年夜饭是一顿团圆、美好的大餐&#xff0c;选择一些好…

基于非缓冲区文件操作(实现cp的功能)

打开文件 -- open open(const char *pathname, int flags); open(const char *pathname, int flags, mode_t mode); 形参&#xff1a; pathname -- 文件的路径 flags&#xff1a;下面的宏定义必须选择一个 O_RDONLY -- 只读 O_WRONLY -- 只写 O_RDWR --…

selenium执行出现异常,SessionNotCreatedException ChromeDriver only supports

问题现状&#xff1a; 运行程序报错&#xff1a; selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 114 Current browser version is 121.0.6167.85 with binary path /App…

8.6跳跃游戏②(LC45-M)

算法&#xff1a; 与上一题一样&#xff0c;还是看最大覆盖范围 要从覆盖范围出发&#xff0c;不管怎么跳&#xff0c;覆盖范围内一定是可以跳到的&#xff0c;以最小的步数增加覆盖范围&#xff0c;覆盖范围一旦覆盖了终点&#xff0c;得到的就是最少步数&#xff01; 这里…

MyBatis 批量插入数据优化

前言 最近在项目上遇到了批量插入的场景问题&#xff0c;由于每次需要插入超过 10w 的数据量并且字段也蛮多的导致如果使用循环单次插入的方式插入数据插入的效率不高。相信读者们在实际开发中也遇到过这样类似的场景&#xff0c;那么批量插入如何实现呢&#xff1f; 其实我也…

本地部署Tomcat开源服务器并结合内网穿透远程访问

文章目录 前言1.本地Tomcat网页搭建1.1 Tomcat安装1.2 配置环境变量1.3 环境配置1.4 Tomcat运行测试1.5 Cpolar安装和注册 2.本地网页发布2.1.Cpolar云端设置2.2 Cpolar本地设置 3.公网访问测试4.结语 前言 Tomcat作为一个轻量级的服务器&#xff0c;不仅名字很有趣&#xff0…

闲人闲谈PS之五十二——虚拟组装部件超过99的问题

惯例闲话&#xff1a;分享 朱龙春老师的一篇随笔《只是做点ERP&#xff0c;没必要跳楼吧 。 多大的事呢&#xff0c;生命面前&#xff0c;一切都是个P》的感想&#xff0c;故事大致是这样&#xff0c;客户不断提需求&#xff0c;技术出身的愣头青项目经理扛不住项目成本压力&am…

初识Docker(架构、安装Docker)

一、什么是Docker Docker 是一个开源的应用容器引擎&#xff0c;它允许开发者将应用程序及其依赖打包到一个轻量级、可移植的容器中。这些容器可以在不同的计算平台上运行&#xff0c;如Linux和Windows&#xff0c;并且可以实现虚拟化。Docker 的设计目标是提供一种快速且轻量…

C++数据结构——红黑树

一&#xff0c;关于红黑树 红黑树也是一种平衡二叉搜索树&#xff0c;但在每个节点上增加一个存储位表示节点的颜色&#xff0c;颜色右两种&#xff0c;红与黑&#xff0c;因此也称为红黑树。 通过对任意一条从根到叶子的路径上各个节点着色方式的限制&#xff0c;红黑树可以…

01 质数筛

一、根据概念进行枚举 1、判断质数的枚举算法 根据概念:除了1和它本身以外没有其他约数的数为质数 //输入一个数n&#xff0c;判断n是不是质数 #include<bits/stdc.h> using namespace std;int main(){int n;cin>>n;//根据概念:除了1和它本身以外没有其他约数的…

进程通信与socket编程实践之猜数字小游戏

socket是实现进程通信的一种重要方式&#xff0c;本文将通过socket编程实现服务器进程与客户端进程之间的通信&#xff0c;并在通信之外实现猜数字的小游戏。 1. 设计思路 本文设计的C/S结构的猜数字游戏功能如下&#xff1a;服务器端自动生成一个1-100之间的随机数字&#x…

linux基础学习(7):find命令

1.按照文件名搜索 find 搜索路径 选项 文件名 选项&#xff1a; -name&#xff1a;按文件名搜索 -ineme&#xff1a;不区分文件名大小写搜索 -inum&#xff1a;按inode号搜索 按文件名搜索跟按关键词搜索不一样&#xff0c;只能搜到文件名完整对应的文件 *根据文件名…

加速应用开发:低代码云SaaS和源码交付模式如何选

随着数字化转型的加速&#xff0c;企业对于快速开发和交付高质量应用的需求也越来越迫切。为了满足这一需求&#xff0c;开发者们开始探索采用低代码平台进行软件开发工作&#xff0c;以加速应用开发过程。 目前&#xff0c;市场上的低代码产品众多&#xff0c;但基本可分为简单…

特征工程之特征降维

为什么要进行特征降维&#xff1f; 特征对训练模型是非常重要的,用于训练的数据集包含一些不重要的特征,可能导致模型泛化性能 不佳 某些特征的取值较为接近&#xff0c;其包含的信息较少 希望特征独立存在对预测产生影响&#xff0c;两个特征同…

Goldsky - 使用ClickHouse和Redpanda的黄金标准架构

本文字数&#xff1a;6240&#xff1b;估计阅读时间&#xff1a;16 分钟 作者&#xff1a;ClickHouse Team 审校&#xff1a;庄晓东&#xff08;魏庄&#xff09; 本文在公众号【ClickHouseInc】首发 介绍 作为一家以开源为根基的公司&#xff0c;我们发现用户通常是第一个识别…

JWT登录

JWT JSON Web Token&#xff08;JSON Web令牌&#xff09; 是一个开放标准(rfc7519)&#xff0c;它定义了一种紧凑的、自包含的方式&#xff0c;用于在各方之间以JSON对象安全地传输信息。此信息可以验证和信任&#xff0c;因为它是数字签名的。jwt可以使用秘密〈使用HNAC算法…