Vue$confirm的详细阐述

一、Vue$confirm的作用

Vue$confirm是一个非常实用的Vue.js插件,它提供了一个简单易用的确认框组件,可以用于在用户执行某个敏感操作之前进行二次确认,以防止误操作。如删除操作、修改等。

Vue$confirm可以根据传入的参数,自动构建一个确认框,并且支持自定义样式、内容、按钮等。同时,它还可以根据不同的情况返回一个Promise对象,以便在用户点击确定或取消后执行相应的操作。

二、使用Vue$confirm

Vue$confirm的用法非常简单,只需要在Vue实例中引入它,并调用它即可。

Vue.prototype.$confirm = function (text, title, options = {}) {
  return new Promise((resolve, reject) => {
    try {
      const confirmConstructor = Vue.extend(Confirm)
      const confirmInstance = new confirmConstructor({
        el: document.createElement('div'),
        propsData: {
          title: title,
          text: text,
          type: options.type,
          showModalIcon: options.showModalIcon,
          cancelButtonText: options.cancelButtonText || '取消',
          confirmButtonText: options.confirmButtonText || '确定',
        },
        methods: {
          handleCancel() {
            resolve(false)
          },
          handleConfirm() {
            resolve(true)
          }
        }
      })
      document.body.appendChild(confirmInstance.$el)
    } catch (error) {
      reject(error)
    }
  })
}

上述代码中,我们将Vue的原型对象中新增了一个$confirm方法,该方法接收3个参数:

  • text:确认框中的提示文本
  • title:确认框的标题
  • options:可选的配置参数,如类型、文字等

在Vue实例中调用$confirm方法即可弹出确认框。

this.$confirm('确定要删除吗?', '提示', {
  type: 'warning'
}).then(() => {
  this.delete() // 用户点击确定后执行的操作
}).catch(() => {
  // 用户点击取消后执行的操作
})

在上述代码中,我们调用$confirm方法弹出了一个提示框,询问用户是否确定执行删除操作。如果用户点击确定,则执行delete方法;如果用户点击取消,则不执行任何操作。

三、Vue$confirm的自定义

Vue$confirm还支持多种用户自定义,下面我们就来一一介绍:

1. 自定义样式

我们可以通过传入CSS类名来自定义样式,如下代码:

this.$confirm('确定要删除吗?', '提示', {
  type: 'warning',
  confirmButtonText: '删除',
  cancelButtonText: '取消',
  customClass: 'my-custom-class'
}).then(() => {
  this.delete() // 用户点击确定后执行的操作
}).catch(() => {
  // 用户点击取消后执行的操作
})

上述代码中,我们传入了一个名为“my-custom-class”的CSS类名,以自定义样式。

2. 自定义文字

我们可以通过传入confirmButtonText和cancelButtonText属性来自定义确认框中按钮的文字,如下代码:

this.$confirm('确定要删除吗?', '提示', {
  type: 'warning',
  confirmButtonText: '删除',
  cancelButtonText: '取消',
}).then(() => {
  this.delete() // 用户点击确定后执行的操作
}).catch(() => {
  // 用户点击取消后执行的操作
})

上述代码中,我们通过传入confirmButtonText和cancelButtonText属性来自定义确认框中按钮的文字。

3. 自定义标题

我们可以通过传入title属性来自定义确认框的标题,如下代码:

this.$confirm('确定要删除吗?', '温馨提示', {
  type: 'warning'
}).then(() => {
  this.delete() // 用户点击确定后执行的操作
}).catch(() => {
  // 用户点击取消后执行的操作
})

上述代码中,我们通过传入title属性来自定义确认框的标题。

4. 自定义类型

Vue$confirm支持多种类型的确认框,包括警告框、提醒框、成功框等,相关配置项如下表所示:

类型描述参数
warning警告框类型为“warning”
info提醒框类型为“info”
success成功框类型为“success”
error错误框类型为“error”

我们可以通过传入type属性来自定义确认框的类型,如下代码:

this.$confirm('确定要删除吗?', '提示', {
  type: 'warning'
}).then(() => {
  this.delete() // 用户点击确定后执行的操作
}).catch(() => {
  // 用户点击取消后执行的操作
})

上述代码中,我们通过传入type属性来自定义确认框的类型为“warning”。

5.自定义图标

我们可以通过传入showModalIcon属性来自定义确认框的图标,默认为true,如下代码:

this.$confirm('你确定要离开吗?', '提示', {
  showModalIcon: false
  })

上述代码中,我们通过传入showModalIcon属性并将值设置为false来关闭默认的图标。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/194545.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-02 14:39
下一篇 2024-12-02 14:39

相关推荐

  • 使用Vue实现前端AES加密并输出为十六进制的方法

    在前端开发中,数据传输的安全性问题十分重要,其中一种保护数据安全的方式是加密。本文将会介绍如何使用Vue框架实现前端AES加密并将加密结果输出为十六进制。 一、AES加密介绍 AE…

    编程 2025-04-29
  • Vue TS工程结构用法介绍

    在本篇文章中,我们将从多个方面对Vue TS工程结构进行详细的阐述,涵盖文件结构、路由配置、组件间通讯、状态管理等内容,并给出对应的代码示例。 一、文件结构 一个好的文件结构可以极…

    编程 2025-04-29
  • Vue3的vue-resource使用教程

    本文将从以下几个方面详细阐述Vue3如何使用vue-resource。 一、安装Vue3和vue-resource 在使用vue-resource前,我们需要先安装Vue3和vue…

    编程 2025-04-27
  • ThinkPHP6 + Vue.js: 不使用Fetch的数据请求方法

    本文将介绍如何在ThinkPHP6和Vue.js中进行数据请求,同时避免使用Fetch函数。 一、AJAX:XMLHttpRequest的基础使用 在进行数据请求时,最基础的方式就…

    编程 2025-04-27
  • Vue模拟按键按下

    本文将从以下几个方面对Vue模拟按键按下进行详细阐述: 一、Vue 模拟按键按下的场景 在前端开发中,我们常常需要模拟按键按下的场景,比如在表单中填写内容后,按下“回车键”提交表单…

    编程 2025-04-27
  • 开发前端程序,Vue是否足够?

    Vue是一个轻量级,高效,渐进式的JavaScript框架,用于构建Web界面。开发人员可以使用Vue轻松完成前端编程,开发响应式应用程序。然而,当涉及到需要更大的生态系统,或利用…

    编程 2025-04-27
  • 如何在Vue中点击清除SetInterval

    在Vue中点击清除SetInterval是常见的需求之一。本文将介绍如何在Vue中进行这个操作。 一、使用setInterval和clearInterval 在Vue中,使用set…

    编程 2025-04-27
  • index.html怎么打开 – 详细解析

    一、index.html怎么打开看 1、如果你已经拥有了index.html文件,那么你可以直接使用任何一个现代浏览器打开index.html文件,比如Google Chrome、…

    编程 2025-04-25
  • VueClearable:实现易于清除的Vue输入框

    一、VueClearable基本介绍 VueClearable是一个基于Vue.js开发的易于清除的输入框组件,可以在输入框中添加“清除”按钮,使得用户可以一键清空已输入内容,提升…

    编程 2025-04-25
  • Resetful API的详细阐述

    一、Resetful API简介 Resetful(REpresentational State Transfer)是一种基于HTTP协议的Web API设计风格,它是一种轻量级的…

    编程 2025-04-25

发表回复

登录后才能评论