uViw Dialog 对话框

在保留当前页面状态的情况下,告知用户并承载相关操作。

TIP

在 SSR 场景下,您需要将组件包裹在 <client-only></client-only> 之中 (如: Nuxt) 和 SSG (e.g: VitePress).

基础用法#

Dialog 弹出一个对话框,适合需要定制性更大的场景。

需要设置 model-value / v-model 属性,它接收 Boolean,当为 true 时显示 Dialog。 Dialog 分为两个部分:body 和 footerfooter 需要具名为 footer 的 slot。 title 属性用于定义标题,它是可选的,默认值为空。 最后,本例还展示了 before-close 的用法。

click to open the Dialog

TIP

before-close 只会在用户点击关闭按钮或者对话框的遮罩区域时被调用。 如果你在 footer 具名 slot 里添加了用于关闭 Dialog 的按钮,那么可以在按钮的点击回调函数里加入 before-close 的相关逻辑。

自定义内容#

对话框的内容可以是任何东西,甚至是一个表格或表单。 此示例显示如何在 Dialog 中使用 Element Plus 的表格和表单。

open a Table nested Dialogopen a Form nested Dialog

自定义头部#

header 可用于自定义显示标题的区域。 为了保持可用性,除了使用此插槽外,使用 title 属性,或使用 titleId 插槽属性来指定哪些元素应该读取为对话框标题。

Open Dialog with customized header

嵌套的对话框#

如果需要在一个 Dialog 内部嵌套另一个 Dialog,需要使用 append-to-body 属性。

通常我们不建议使用嵌套对话框。 如果你需要在页面上呈现多个对话框,你可以简单地打平它们,以便它们彼此之间是平级关系。 如果必须要在一个对话框内展示另一个对话框,可以将内部嵌套的对话框属性 append-to-body 设置为 true,嵌套的对话框将附加到 body 而不是其父节点,这样两个对话框都可以被正确地渲染。

open the outer Dialog

内容居中#

对话框的内容可以居中。

center设置为true即可使标题和底部居中。 center仅影响标题和底部区域。 Dialog 的内容是任意的,在一些情况下,内容并不适合居中布局。 如果需要内容也水平居中,请自行为其添加 CSS 样式。

Click to open the Dialog

TIP

Dialog 的内容是懒渲染的——在被第一次打开之前,传入的默认 slot 不会被立即渲染到 DOM 上。 因此,如果需要执行 DOM 操作,或通过 ref 获取相应组件,请在 open 事件回调中进行。

居中对话框#

从屏幕中心打开对话框。

设置 align-center 为 true 使对话框水平垂直居中。 由于对话框垂直居中在弹性盒子中,所以top属性将不起作用。

Click to open the Dialog

关闭时销毁#

启用此功能时,默认栏位下的内容将使用 v-if 指令销毁。 当出现性能问题时,可以启用此功能。

需要注意的是,当这个属性被启用时,在 transition.beforeEnter 事件卸载前,除了 overlayheader (可选)footer(可选) ,Dialog 内不会有其它任何其它的 DOM 节点存在。

Click to open Dialog

可拖拽对话框#

试着拖动一下header部分吧

设置draggable属性为true以做到拖拽

Click to open Dialog

TIP

当 modal 的值为 false 时,请一定要确保 append-to-body 属性为 true,由于 Dialog 使用 position: relative 定位,当外层的遮罩层被移除时,Dialog 则会根据当前 DOM 上的祖先节点来定位,因此可能造成定位问题。

API#

Attributes#

属性名说明类型默认
model-value / v-model是否显示 Dialogboolean
titleDialog 对话框 Dialog 的标题, 也可通过具名 slot (见下表)传入string''
width对话框的宽度,默认值为 50%string / number''
fullscreen是否为全屏 Dialogbooleanfalse
topdialog CSS 中的 margin-top 值,默认为 15vhstring''
modal是否需要遮罩层booleantrue
modal-class遮罩的自定义类名string
append-to-bodyDialog 自身是否插入至 body 元素上。 嵌套的 Dialog 必须指定该属性并赋值为 truebooleanfalse
append-to 2.4.3Dialog 挂载到哪个 DOM 元素 将覆盖 append-to-bodystringbody
lock-scroll是否在 Dialog 出现时将 body 滚动锁定booleantrue
custom-class deprecatedDialog 的自定义类名string''
open-delaydialog 打开的延时时间,单位毫秒number0
close-delaydrawer 关闭的延时时间,单位毫秒number0
close-on-click-modal是否可以通过点击 modal 关闭 Dialogbooleantrue
close-on-press-escape是否可以通过按下 ESC 关闭 Dialogbooleantrue
show-close是否显示关闭按钮booleantrue
before-close关闭前的回调,会暂停 Dialog 的关闭. 回调函数内执行 done 参数方法的时候才是真正关闭对话框的时候.Function
draggable为 Dialog 启用可拖拽功能booleanfalse
center是否让 Dialog 的 header 和 footer 部分居中排列booleanfalse
align-center 2.2.16是否水平垂直对齐对话框booleanfalse
destroy-on-close当关闭 Dialog 时,销毁其中的元素booleanfalse
close-icon自定义关闭图标,默认 Closestring / Component
z-index和原生的 CSS 的 z-index 相同,改变 z 轴的顺序number
header-aria-level a11yheader 的 aria-level 属性string2

WARNING

custom-class 已被 弃用, 之后将会在 2.4.0 移除, 请使用 class.

Slots#

插槽名说明
Dialog 的内容
header对话框标题的内容;会替换标题部分,但不会移除关闭按钮。
title deprecated与 header 作用相同 请使用 header
footerDialog 按钮操作区的内容

WARNING

title 已被 弃用将会于 2.4.0 移除, 请使用 header

Events#

事件名说明Type
openDialog 打开的回调Function
openedDialog 打开动画结束时的回调Function
closeDialog 关闭的回调Function
closedDialog 关闭动画结束时的回调Function
open-auto-focus输入焦点聚焦在 Dialog 内容时的回调Function
close-auto-focus输入焦点从 Dialog 内容失焦时的回调Function

FAQ#

在 SFC 文件中使用对话框,scope 样式不会生效。#

典型议题:#10515

PS:既然对话框是使用 Teleport 渲染的,建议在全局范围写入根节点的样式。

当对话框被显示及隐藏时,页面元素会来回移动(抖动)。#

典型议题:#10481

PS:建议将滚动区域放置在一个挂载的 vue 节点,如 <div id="app" /> 下,并对 body 使用 overflow: hidden 样式。

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

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

相关文章

Opencv与PyQt5设计一个摄像头界面

一、前言 本篇的内容是学习的这一位博主的&#xff1a;程序界面设计_Doc_Cheng的博客-CSDN博客。 这是我见过很详细的教你如何使用的PyQt5来完成UI界面设计的&#xff0c;专注于UI界面设计。对我而言&#xff0c;这教程就像是一个实用工具&#xff0c;因为我只需要能够显示图…

nodejs01

nodejs作用 Node.js 是一个免费的、开源的、跨平台的 JavaScript 运行时环境&#xff0c;允许开发人员在浏览器之外编写命令行工具和服务器端脚本. 是javascript的一个运行环境&#xff0c;&#xff0c;&#xff0c; nodejs stream 是前端工程化的基础 nodejs可以作为中间层&…

SpringMVC-@RequestMapping注解

0. 多个方法对应同一个请求 RequestMapping("/")public String toIndex(){return "index";}RequestMapping("/")public String toIndex2(){return "index";}这种情况是不允许的&#xff0c;会报错。 1. 注解的功能 RequestMapping注…

《程序员的自我修养--链接,装载与库》

第一章&#xff1a;温故而知新 过度优化的问题&#xff1a; 我们知道volatile关键字可以阻止过度优化&#xff0c;因为它可以完成两件事&#xff1a; 阻止编译器为了提高速度将一个变量缓存到寄存器而不写回阻止编译器调整操作volatile变量的指令顺序 然而&#xff0c;在优…

如何使用csdn中的c知道进行学习?

1.c知道 猜测是通过chatgpt训练链接到CSDN内部的文章内容等&#xff0c;进行生成的一款应用。 2.如何使用呢 打比方说&#xff0c;我想学习下多目标跟踪中的ukf&#xff0c;那么就可以输入这个关键字。 那既然是学习&#xff0c;就要进一步深究&#xff0c;有三种方式&#…

uniapp向上拉加载,下拉刷新

目录 大佬1大佬2 大佬1 大佬地址&#xff1a;https://blog.csdn.net/wendy_qx/article/details/135077822 大佬2 大佬2&#xff1a;https://blog.csdn.net/chen__hui/article/details/122497140

<软考高项备考>《论文专题 - 51 进度管理(2) 》

3 过程2-定义活动 3.1 问题 4W1H过程做什么识别和记录为完成项目可交付成果而须采取的具体行动的过程作用&#xff1a;将工作包分解为进度活动&#xff0c;作为对项目工作进行进度估算、规划、执行、监督和控制的基础为什么做对活动才能更详细更准确的分配资源、时间、成本谁…

C#,数值计算,求平方根之巴比伦算法(Babylonian algorithm)的源代码

平方根的巴比伦算法。 1 巴比伦算法介绍一 巴比伦算法可能算是最早的用于计算$sqrt{S}$的算法之一&#xff0c;因为其可以用牛顿法导出&#xff0c;因此在很多地方也被成为牛顿法。其核心思想在于为了计算x的平方根&#xff0c;可以从某个任意的猜测值g开始计算。在真实的运算…

屏幕截图--Snagit

Snagit是一款优秀的屏幕、文本和视频捕获、编辑与转换软件。它不仅可以捕获静止的图像&#xff0c;还能获得动态的图像和声音。软件界面干净清爽&#xff0c;功能板块一目了然&#xff0c;为用户提供专业的屏幕录制方案。可以根据自己的需求调整录制视频的分辨率、帧数、输出格…

探索Flutter中常用的系统组件

Flutter 是一款强大的开源移动应用框架&#xff0c;其丰富的系统组件使得开发者可以轻松构建漂亮且高性能的移动应用。在本文中&#xff0c;我们将深入探讨一些常用的 Flutter 系统组件&#xff0c;帮助开发者更好地理解和应用它们。 1. Scaffold&#xff08;脚手架&#xff0…

Linux命令入门及ls命令

由于大家第一次接触到Linux命令&#xff0c;故此篇会详细讲述什么是命令&#xff0c;什么又是命令行&#xff1f;Linux命令的基础结构&#xff0c;什么是工作目录&#xff0c;什么又是HOME目录&#xff1f;并且带大家熟悉ls命令的基础使用。 1.命令和命令行 命令行&#xff1a…

使用spring cloud gateway作为服务网关

Spring Cloud Gateway是Spring Cloud官方推出的第二代网关框架&#xff0c;取代Zuul网关。网关作为流量的&#xff0c;在微服务系统中有着非常作用&#xff0c;网关常见的功能有路由转发、权限校验、限流控制等作用。 gateway需要注册到nacos中去&#xff0c;需要引入以下的依…

【PgSQL】聚合函数string_agg

在工作中&#xff0c;遇到了这样的需求&#xff0c;需要根据某一个字段A分组查询&#xff0c;统计数量&#xff0c;同时还要查询另一个字段B&#xff0c;但是呢这个字段B在分组后的记录中存在不同的值。最开始不知道有聚合函数可以实现这一功能&#xff0c;在代码中进行了处理。…

[嵌入式C][入门篇] 快速掌握基础3 (运算符)

开发环境&#xff1a; 网页版&#xff1a;跳转本地开发(Vscode)&#xff1a;跳转 文章目录 一、 简介二、算术运算符&#xff08;1&#xff09;示例代码&#xff1a;&#xff08;2&#xff09;和--的先后顺序&#xff08;直接看效果&#xff09; 三、逻辑运算符(1)示例代码 四…

网络对讲终端 网络音频终端 网络广播终端SV-7011V使用说明

高速路sip广播对讲求助 隧道sip对讲调度SIP-7011 网络广播终端SV-7011 壁挂式对讲终端网络监听终端SIP广播终端 sip语音对讲终端SIP-7011 SV-7011网络对讲终端网络对讲、网络厂播、监听 SV-7101网络解码终端提供一路线路输出接功放或有源音箱。 SV-7102网络解码广播终端两…

HNU-数据库系统-讨论课2

第二次小班讨论课安排如下: 主题: 数据库系统设计与应用开发。 目的&#xff1a;让学生通过练习和讨论充分掌握数据库系统的设计与应用开发。 内容: 设计和实现一个数据库及应用系统。设计内容包括系统分析、系统设计、 数据库设计&#xff08;需求分析、概念结构设计、逻辑…

Ranger UserSync

作用 同步User到RangerDb 架构 解析 启动一个while(True) 进程定时同步&#xff0c;程序入口 source sink 掉接口获取Ranger User 并且Cache 计算delta 同步

JavaScript基础(24)_dom查询练习(一)

<!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><link rel"stylesheet" href"../browser_default_style/reset.css"><title>dom查询练习一</title><style>.text {widt…

Anaconda 环境中安装OpenCV (cv2)

1、使用Anaconda 的对应环境&#xff0c;查看环境中的Python版本号 (1)使用Anaconda 查看存在的环境&#xff1a;conda info --env (2)激活环境&#xff1a;conda activate XXX 2、根据版本号&#xff0c;下载对应的 python-opencv 包 &#xff08;1&#xff09;选择国内源的…

【算法Hot100系列】括号生成

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…