更新记录

1.0.6(2024-10-09) 下载此版本

改为 uni_modules 模式

1.0.5(2024-09-26) 下载此版本

新增dialogStyle、titleStyle、contentStyle 三个属性,分别设置弹窗样式、标题样式、内容样式

1.0.4(2024-03-26) 下载此版本

增加position属性,配置弹窗显示位置,支持 center/bottom

增加示例工程

查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue
钉钉小程序 快手小程序 飞书小程序 京东小程序
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

cc-dialog使用说明

本弹窗组件不做样式上的干扰、样式完全靠开发者自定义了

默认写的样式是我公司UI出的。

view 部分

<button @click="openDialog">打开弹窗</button>
<cc-dialog ref="dialog"></cc-dialog>

vue2

主要是工作中经常遇到弹窗样式需要自定义的。uni.showModal 样式又修改不了。

以前写过简单的,通过父子组件传值的方式。

<cc-dialog
  title="弹窗标题"
  content="弹窗内容"
  @cancel="cancel"
  @confirm="confirm"
/>

如上代码:

这种,页面上只有一个弹窗还可以。但是弹窗多了。要定义很多属性、很多方法,太麻烦了。

于是就开发了这么一个弹窗组件

另:vue3 setup 写法的后续完善。目前仅支持一些简单的用法,可满足一般使用。。可自定义。很简单。

本组件仅测试了H5和微信小程序

open 方法传入对象,与 uni.showModal 写法保持一致

vue2、vue3调用open方法后传入的属性一致

javscript 部分

openDialog() {
    const dialog = this.$refs.dialog
    dialog.open({
        title: '这是标题',
        content: '这是内容<br>第二行',
        confirmText: '确定',
        cancelText: '取消',
        openType: 'feedback',
         position: 'bottom',
         titleStyle: { color: 'red' },
         dialogStyle: { padding: '2px' },
         contentStyle: { 'text-align': 'left' },
        confirm: res => {
            console.log('点击了确定按钮');
            dialog.close()
        },
        cancel: res => {
            console.log('点击了取消按钮');
            dialog.close()
        }
    })
},

属性说明

属性名 类型 默认值 属性说明
title String 弹窗标题
content String 弹窗内容。不传则不显示
cancelText String 按钮文字、一般是左侧按钮(取消)。不传则不显示
confirmText String 按钮文字、一般是右侧按钮(确定)。不传则不显示
disabled Boolean false 右边(确定)按钮是否禁用
openType String 同 button 按钮的 open-type 属性
position String center 同 uni-popup 的 type 属性,支持 center/bottom
showClose Boolean false 弹窗关闭按钮,cancelText和confirmText都没传时也会显示
animationClass String 弹窗出现时的动画类名,支持animate.css中所有动画,并支持自定义
好像微信小程序无效。不知道为什么。
dialogStyle Object 自定义弹窗盒子的样式
titleStyle Object 自定义标题样式
contentStyle Object 自定义内容样式
confirm function 确定(右侧)按钮回调
cancel function 取消(左侧)按钮回调

插槽说明

名称 说明
content 自定义弹窗主体内容部分、默认只支持文本,想要显示图片、表单或者其他类型内容,可以使用此插槽
footer 自定义弹窗底部内容、若弹窗底部按钮不满足需求、可使用此插槽

vue3

import {
    ref
  } from "vue";
  const dialog = ref()
  const openDialog = () => {
    console.log(dialog.value);
    dialog.value.open({
      title: '温馨提示',
      content: '内容',
      cancelText: '取消',
      confirmText: '确定',
      position: 'bottom',
      disabled: true,
      showClose: true,
      animationClass: 'animate__flipInX',
      titleStyle: { color: 'red' },
      dialogStyle: { padding: '2px' },
      contentStyle: { 'text-align': 'left' },
      confirm: (res) => {
        dialog.value.close()
      },
      cancel: () => {
        dialog.value.close()
      }
    })
  }

隐私、权限声明

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

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

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

许可协议

MIT协议

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