更新记录

1.0.3(2024-08-06) 下载此版本

修改文档

1.0.2(2024-07-30) 下载此版本

适配r-config-provider

1.0.1(2024-07-23) 下载此版本

修复控制台警告

查看更多

平台兼容性

Vue2 Vue3
×
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

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问