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/zh-tw/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

發表回復

登錄後才能評論