聊聊vue集成sweetalert2提示组件的问题

目录
  • 一、项目集成
    • 1. 引入方式 CDN引入方式:
    • 2. 确认框封装
    • 3. 提示框封装
    • 4. 确认框使用
    • 5. 消息提示框使用
    • 6.项目效果


一、项目集成

官网链接:https://sweetalert2.github.io

案例


1. 引入方式 CDN引入方式:

在index.html中全局引入

<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>

位置:

npm安装方式:

npm install sweetalert2

2. 确认框封装

Confirm = {
    show: function (message, callback) {
        Swal.fire({
            title: '确认 ?',
            text: message,
            icon: 'warning',
            showCancelButton: true,
            confirmButtonColor: '#3085d6',
            cancelButtonColor: '#d33',
            confirmButtonText: '是的, 已确认!'
        }).then((result) => {
            if (result.isConfirmed) {
                if (callback) {
                    callback()
                }
            }
        })
    }
}

3. 提示框封装

Toast = {
    success: function (message) {
        Swal.fire({
            position: 'top-end',
            icon: 'success',
            title: message,
            showConfirmButton: false,
            timer: 3000
        })
    },

    error: function (message) {
        Swal.fire({
            position: 'top-end',
            icon: 'error',
            title: message,
            showConfirmButton: false,
            timer: 3000
        })
    },

    warning: function (message) {
        Swal.fire({
            position: 'top-end',
            icon: 'warning',
            title: message,
            showConfirmButton: false,
            timer: 3000
        })
    }
};

4. 确认框使用

/**
     * 点击【删除】
     */
    del(id) {
      let _this = this
      Confirm.show("删除后不可恢复, 确认删除 !", function () {
        Loading.show()
        _this.$api.delete('http://127.0.0.1:9000/business/admin/chapter/delete/' + id).then((res) => {
          Loading.hide()
          console.log("删除大章列表结果:", res)
          let resp = res.data
          if (resp.success) {
            _this.list(1)
            Swal.fire(
                '删除成功!',
                '删除成功!',
                'success'
            )
          }
        })
      })

5. 消息提示框使用

 /**
     * 点击【保存】
     */
    save() {
      let _this = this
      Loading.show()
      _this.$api.post('http://127.0.0.1:9000/business/admin/chapter/save', _this.chapter).then((res) => {
        Loading.hide()
        console.log("保存大章列表结果:", res)
        let resp = res.data
        if (resp.success) {
          $("#form-modal").modal("hide")
          _this.list(1)
          Toast.success("保存成功!")
        } else {
          Toast.warning(resp.message)
        }
      })
    }

6.项目效果


到此这篇关于vue 集成 sweetalert2 提示组件的文章就介绍到这了,更多相关vue 集成 sweetalert2内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 最简单的vue消息提示全局组件的方法

    简介 实现功能 自定义文本 自定义类型(默认,消息,成功,警告,危险) 自定义过渡时间 使用vue-cli3.0生成项目 toast全局组件编写 /src/toast/toast.vue <template> <div class="app-toast" v-if="isShow" :class="{'info': type=== 'info','success': type=== 'success','wraning': type===

  • vue.js的提示组件

    这次的教程里,我们要把组件化进行到底!最近半年的几个项目中,都遇到了需要使用Toast或者Notification组件的情况.在目前已有的一些基于Vue.js开发的组件库,都没有找到太合适的,所以自己重头实现了一个.历经几个项目的磨练,这个提示组件的功能已经越来越完善,这次就分享一下组件以及其实现思路吧. GitHub 仓库: https://github.com/Yuyz0112/vue-notie Demo 地址: http://lab.myriptide.com/vue-notie/ 深入

  • vue的全局提示框组件实例代码

    这篇文章给大家介绍一个vue全局提示框组件,具体代码如下所示: <template> <!-- 全局提示框 --> <div v-show="visible" class="dialog-tips dialog-center"> <div>{{message}}</div> </div> </template> <script> export default { data

  • Vue.js实现一个漂亮、灵活、可复用的提示组件示例

    这次的教程里,我们要把组件化进行到底!最近半年的几个项目中,都遇到了需要使用Toast或者Notification组件的情况.在目前已有的一些基于Vue.js开发的组件库,都没有找到太合适的,所以自己重头实现了一个.历经几个项目的磨练,这个提示组件的功能已经越来越完善,这次就分享一下组件以及其实现思路吧. 深入组件化,组件的拆分.整合与复用 Vue.js的组件化可以说是其招牌特性之一,而在实际应用时,并非一味地追求组件颗粒越小越好,而是需要根据项目的实际需求,来分析自己需要什么级别的组件. 例如

  • 聊聊vue集成sweetalert2提示组件的问题

    目录 一.项目集成 1. 引入方式 CDN引入方式: 2. 确认框封装 3. 提示框封装 4. 确认框使用 5. 消息提示框使用 6.项目效果 一.项目集成 官网链接:https://sweetalert2.github.io 案例 1. 引入方式 CDN引入方式: 在index.html中全局引入 <script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script> 位置: npm安装方式: npm ins

  • 用Vue.extend构建消息提示组件的方法实例

    前提 前段时间自己做的vue练手项目,需要一个通用的消息提示组件,但是消息提示这种组件我更想用方法来调用,而不是在各个页面上都添加个组件(那样感觉很麻烦,重度懒癌患者),于是就上网差查了查,并研究了ElementUI的message源码.自己弄出来一个简陋的消息提示组件 Vue.extend是什么 按照官方文档说法,他是一个类构造器,用来创建一个子类vue并返回构造函数,而Vue.component它的任务是将给定的构造函数与字符串ID相关联,以便Vue.js可以在模板中接收它. 了解了这点之后

  • Vue自定义铃声提示音组件的实现

    目录 背景/前言 组件的使用 安装 加载 组件生效 组件参数 使用默认音效 关于open参数的解释 项目地址 背景/前言 之前的一个功能需求,需要在页面接收消息,一旦有了新消息之后,需要用铃声进行提醒. 因为没有找到类似的比较便捷的组件,所以就自己写了一个.然后想着能不能尝试下做成一个公共的组件,发布出去让其他开发者也用用?于是就试着写了一个项目(项目地址在最后),发布成了npm包. 目前这个组件已经发布到了npm上,欢迎大家试用.如果有好的建议,或者找到了更好的类似组件,欢迎指出和分享~ 下面

  • vue中使用svg封装全局消息提示组件

    本文实例为大家分享了vue中使用svg封装全局消息提示组件的具体代码,供大家参考,具体内容如下 先看效果图 一.首先安装下载需要用到的svg相关依赖 npm install svg-sprite-loader --save-dev 二.针对没有vue.config.js文件的vue项目,直接在webpack.base.conf.js中进行如下两个配置 1.找到图片相关配置位置,添加款选出的代码 2.在图片配置后添加如下代码 三.根据添加的代码我们去src下创建一个icons文件夹,icons下面

  • 一起来做一下Vue全局提示组件

    全局提示组件在前端中算是比较重要的,在开发业务时候肯定能用的上,毕竟任何报错只要提示“服务器异常”就可以完美把锅扔给后台(手动滑稽) 全局提示组件在人气比较的 UI 组件库必有他身影,可能叫法不太相同,有叫 message.toast.alert 等,但就是这么一玩意. 拿 ant-design-vue 组件库为例 其核心代码 message.info('This is a normal message') 他是API的方式进行调用组件,以平常使用components注册组件,之后在templa

  • vue实现过渡动画Message消息提示组件示例详解

    目录 概述 目录结构 总结 概述 在我自己平时做项目的时候,必不可少的会用到message组件,用来对用户友好反馈,总之使用频率还是挺高的,刚开始工作的时候,经常用的就是组件库的现成的,想想也不能总是用别人现成的,最近模拟组件库调用方式自己写了一个消息提示组件,支持过渡效果,支持自己进行扩展. 目录结构 .src/component/MessageBox/MessageBox.vue代码: <template> //css实现过渡 <transition name="fade-

  • 详细聊聊vue组件是如何实现组件通讯的

    目录 前言 如何解决组件之间通讯呢? 解决方案: 父传子 实现过程: 原理图示 父组件 Footer.vue 子组件 MyCon.vue 小案例 采用了父传子 父组件 App.vue 子组件 MyProduct.vue 效果展示 子传父 实现过程 原理图示 父组件 App.vue 子组件 MyCon.vue 商品案例 运用了子传父 父组件 App.vue 子组件 MyProduct.vue 效果展示 总结 前言 每一个组件中的变量和数据都是独立的,如果别的组件想要访问另一个组件里的数据该怎么做?

随机推荐