更新记录
1.0.3(2024-08-06)
下载此版本
修改文档
1.0.2(2024-07-30)
下载此版本
适配r-config-provider
1.0.1(2024-07-23)
下载此版本
修复控制台警告
查看更多
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 3.1.0 app-vue |
√ |
√ |
√ |
√ |
√ |
√ |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
√ |
√ |
√ |
√ |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
r-dialog
r-dialog
弹出框,弹出模态框,常用于消息提示、消息确认,或在当前页面内完成特定的交互操作。
示例
<template>
<r-config-provider>
<view style="padding: 20px 0">
<r-divider content-position="left">基础使用</r-divider>
<r-cell-group inset>
<r-cell title="提示弹窗" isLink @click="open(1)"></r-cell>
<r-cell title="提示弹窗(无标题)" isLink @click="open(2)"></r-cell>
<r-cell title="确认弹窗" isLink @click="open(3)"></r-cell>
</r-cell-group>
<r-divider content-position="left">异步关闭</r-divider>
<r-cell-group inset>
<r-cell title="异步关闭" isLink @click="open2()"></r-cell>
</r-cell-group>
<r-divider content-position="left">自定义内容</r-divider>
<r-cell-group inset>
<r-cell title="自定义内容" isLink @click="show3 = true"></r-cell>
</r-cell-group>
</view>
</r-config-provider>
<r-dialog
v-model:show="show"
:title="title"
closeOnClickOverlay
message="message"
:showCancelButton="showCancelButton"
></r-dialog>
<r-dialog
v-model:show="show2"
title="title"
message="message"
showCancelButton
:beforeClose="beforeClose"
></r-dialog>
<r-dialog
v-model:show="show3"
title="title"
message="message"
showCancelButton
>
<view style="width: 100%; padding: 10px; box-sizing: border-box">
<r-image
width="346px"
src="https://fastly.jsdelivr.net/npm/@vant/assets/apple-3.jpeg"
></r-image>
</view>
</r-dialog>
</template>
<script setup>
import { ref } from "vue";
const show = ref(false);
const show2 = ref(false);
const show3 = ref(false);
const title = ref("");
const showCancelButton = ref(false);
const open = (type) => {
title.value = "";
showCancelButton.value = false;
if (type == 1) {
title.value = "提示弹窗";
}
if (type == 3) {
title.value = "确认弹窗";
showCancelButton.value = true;
}
show.value = true;
};
const beforeClose = (action) =>
new Promise((resolve) => {
setTimeout(() => {
// action !== 'confirm' 拦截取消操作
resolve(action === "confirm");
}, 1000);
});
const open2 = () => {
show2.value = true;
};
</script>
API
Props
名称 |
说明 |
类型 |
默认值 |
可选值 |
show |
是否显示弹窗 |
Boolean |
false |
true |
title |
标题 |
String |
- |
- |
width |
弹窗宽度 |
String |
320px |
|
message |
文本内容 |
String |
- |
- |
messageAlign |
内容水平对齐方式 |
String |
center |
left right justify |
showConfirmButton |
是否展示确认按钮 |
Boolean |
true |
false |
showCancelButton |
是否展示取消按钮 |
Boolean |
false |
true |
confirmButtonText |
确认按钮文案 |
String |
确认 |
|
confirmButtonColor |
确认按钮颜色 |
String |
#1989fa |
|
confirmButtonDisabled |
是否禁用确认按钮 |
Boolean |
false |
true |
cancelButtonText |
取消按钮文案 |
String |
取消 |
|
cancelButtonColor |
取消按钮颜色 |
String |
black |
|
cancelButtonDisabled |
是否禁用取消按钮 |
Boolean |
false |
true |
zIndex |
将弹窗的 z-index 层级设置为一个固定值 |
Number |
2000 |
|
overlay |
是否展示遮罩层 |
Boolean |
true |
false |
overlayClass |
自定义遮罩层类名 |
String |
- |
|
overlayStyle |
自定义遮罩层样式 |
Object |
{} |
|
closeOnClickOverlay |
是否在点击遮罩层后关闭弹窗 |
Boolean |
false |
true |
lockScroll |
是否锁定背景滚动 |
Boolean |
true |
false |
beforeClose |
关闭前的回调函数,返回 false 可阻止关闭,支持返回 Promise |
Function |
- |
|
themeName |
r-theme主题名称 |
String |
default |
|
Events
名称 |
说明 |
参数 |
confirm |
点击确认按钮时触发 |
- |
cancel |
点击取消按钮时触发 |
- |
open |
打开弹窗时触发 |
- |
close |
关闭弹窗时触发 |
- |
opened |
打开弹窗且动画结束后触发 |
- |
closed |
关闭弹窗且动画结束后触发 |
- |
update:value |
显示状态变化时触发 |
show |
Slots
名称 |
说明 |
参数 |
default |
自定义内容 |
- |
title |
自定义标题 |
- |
footer |
自定义底部按钮区域 |
- |
更多组件,请前往rainui