QDialog 组件是为用户提供选择特定操作或操作列表的一种好方法。它们还可以向用户提供重要信息,或要求他们做出决定(或多个决定)。
从 UI 角度来看,您可以将对话框视为一种浮动模态,它只覆盖屏幕的一部分。这意味着对话框仅应用于快速的用户操作,例如验证密码、获取简短的应用通知或快速选择一个或多个选项。
提示
对话框还可以用作更基本用例的全局可用方法,例如原生 JS 的 alert()、prompt() 等。对于后一种行为,请访问对话框插件页面。
大师班提示
与其使用 QDialogs 弄乱您的 .vue 模板,不如为您的对话框编写一个组件,并使用对话框插件从应用程序中的任何位置调用它。
用法
注意
最好让您的 QDialog 主要内容为 QCard。但是,如果您计划使用任何其他组件(如 QForm)或标签,请确保 QDialog 的直接子元素使用<div>
标签呈现(或自行将其包装在一个中)。
基本用法
样式
定位
提示
不要将“position”属性与显示/隐藏动画混淆。如果您想要自定义动画,则应使用transition-show
和transition-hide
,无论“position”或“maximized”如何,都可以应用这些属性。
各种内容
对话框可以包含任何内容。以下是一些示例
提示
如果您要使用容器化的 QLayout,则需要在使用左/右位置时为 QDialog 设置宽度,或者在使用上/下位置时设置高度。您可以使用 vw 和 vh 单位。
处理滚动
不同的模式
用户无法通过按 ESCAPE 键或单击/点击其背景来关闭对话框。
对话框也可以是页面的一部分,而无需立即获得焦点。“无缝”模式在这种情况下发挥作用
对话框中的对话框
您可以在其他对话框之上打开对话框,并且深度级别可以无限。
大小
您可以自定义对话框的大小。请注意,我们要么修改内容的样式,要么使用full-width
或full-height
属性
Cordova/Capacitor 后退按钮
Quasar 默认情况下会为您处理后退按钮,因此它可以隐藏任何已打开的对话框,而不是默认行为,即返回到上一页(这并非良好的用户体验)。
但是,如果您希望禁用此行为,请编辑您的/quasar.config
文件
// quasar.config file
return {
framework: {
config: {
capacitor: {
// Quasar handles app exit on mobile phone back button.
backButtonExit: true/false/'*'/['/login', '/home', '/my-page'],
// On the other hand, the following completely
// disables Quasar's back button management.
backButton: true/false
}
}
}
}