当前位置: 首页 > news >正文

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

目录

#平台差异说明

#基本使用

#传入富文本内容

#异步关闭

#点击遮罩关闭

#控制模态框宽度

#自定义样式

#缩放效果

#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传入自定义按钮,用于在微信小程序弹窗通过按钮授权的场景

相关文章:

  • Python全自动性能无人机
  • ChatGPT4账号升级心得
  • yolov8 opencv dnn部署 github代码
  • HarmonyOS 鸿蒙应用开发( 六、实现自定义弹窗CustomDialog)
  • composer安装hyperf后,nginx配置hyperf
  • Java链表(1)
  • 14、Kafka ------ kafka 核心API 之 流API(就是把一个主题的消息 导流 到另一个主题里面去)
  • 25考研每日的时间安排
  • 6 时间序列(不同位置的装置如何建模): GRU+Embedding
  • 批量数据之DataX数据同步
  • 制作一个简单的HTML个人网站
  • flink学习之窗口处理函数
  • 【算法练习】leetcode算法题合集之动态规划篇
  • 防火墙在企业园区出口安全方案中的应用(ENSP实现)
  • 网络安全进阶试题——附答案
  • Bytom交易说明(账户管理模式)
  • C++类的相互关联
  • iOS 颜色设置看我就够了
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • Java 网络编程(2):UDP 的使用
  • Meteor的表单提交:Form
  • Redis在Web项目中的应用与实践
  • scrapy学习之路4(itemloder的使用)
  • 大型网站性能监测、分析与优化常见问题QA
  • 大整数乘法-表格法
  • 简析gRPC client 连接管理
  • 前嗅ForeSpider采集配置界面介绍
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 首页查询功能的一次实现过程
  • 线性表及其算法(java实现)
  • 一份游戏开发学习路线
  • 译自由幺半群
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • ​2021半年盘点,不想你错过的重磅新书
  • ​业务双活的数据切换思路设计(下)
  • #DBA杂记1
  • #define 用法
  • (13)Hive调优——动态分区导致的小文件问题
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (Java)【深基9.例1】选举学生会
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (六)激光线扫描-三维重建
  • (七)c52学习之旅-中断
  • (万字长文)Spring的核心知识尽揽其中
  • (转)IOS中获取各种文件的目录路径的方法
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • ****Linux下Mysql的安装和配置
  • .form文件_一篇文章学会文件上传
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .net 无限分类
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池