vue.js中toast用法及使用toast弹框的实例代码

下面是关于“vue.js中toast用法及使用toast弹框的实例代码”的攻略。

什么是Toast

Toast是移动端或Web端的一种轻量级提示框架,常用于简短的操作提示,例如登录成功、数据保存、网络错误、支付完成等提示。

Vue.js中,常用的全局提示框插件有vue-toasted、vux和mint-ui等。下面分别介绍这三个插件的使用方法和示例代码。

使用vue-toasted插件

vue-toasted插件是一款基于Toastify.js的Vue.js2.0轻量级Notification框架,使用简便,具有很好的扩展性。

安装并引入Toastify.js和vue-toasted

npm install toastify-js
npm install vue-toasted
import Toastify from 'toastify-js';
import Toasted from 'vue-toasted';
Vue.use(Toasted);

使用全局Toast

在Vue组件中,我们可以使用全局Toast方法,如下所示:

this.$toasted.show('提示文本', { 
    position: 'top-center', 
    duration: 3000 
});

示例1:自定义Toast

我们可以使用vue-toasted的register方法来自定义一个全局Toast:

Vue.toasted.register('my_custom_toast', (payload) => {
    if(payload.message) {
        // 使用Toastify.js创建Toast
        Toastify({
            text: payload.message,
            duration: payload.duration ? payload.duration : 3000,
            backgroundColor: "#007aff"
        }).showToast();
    }
});

然后,在Vue组件中就可以像这样调用:

this.$toasted.my_custom_toast('自定义提示', { duration: 3000 });

这里我们自定义了一个名为my_custom_toast的Toast方法,调用时可以传入一个提示文本和一个Options对象,其中duration表示持续时间,默认为3000ms(3秒)。

示例2:使用PluginOptions

我们也可以在Vue的实例化中使用PluginOptions参数,以全局定义Toast的默认参数:

Vue.use(Toasted,{
    position:'top-center',
    duration: 3000,
    theme: 'toasted-primary',
    type: 'success',
});

然后在组件中使用全局$toasted:

this.$toasted.success('Success Message');

使用vux插件

vux是一个基于WeUI和Vue.js的移动端UI框架,包含了很多常用的组件和插件,其中包含Toast提示框。

安装并引入vux

vux插件可以使用gulp、webpack或directly include方式引入,这里我们演示直接include方式引用:

<link rel="stylesheet" href="//unpkg.com/vux/dist/vux.min.css">
<script src="//cdn.bootcss.com/vue/2.3.4/vue.min.js"></script>
<script src="//cdn.bootcss.com/vuex/2.3.1/vuex.min.js"></script>
<script src="//cdn.bootcss.com/axios/0.15.3/axios.min.js"></script>
<script src="//unpkg.com/vux/dist/vux.min.js"></script>

使用WeToast

WeToast是vux中的全局Toast组件,使用简便:

this.$vux.toast.show({
    text: '提示文本',
    position: 'middle',
    type: 'text',
    width: '15em',
    time: 3000,
    isShowMask: true
});

示例1:自定义Toast

我们也可以自定义一个Toast组件并引入到Vue实例中:

<v-toast ref="customToast" />
mounted () {
    // 自定义toast
    this.$refs.customToast.show({
        type: 'warn',
        width: '10em',
        text: 'warn message'
    });
}

示例2:使用WeLoading

WeLoading在vux中是一个全局Loading组件,可以实现全局Loading效果,用法与WeToast类似:

<loading :show="showLoading" />
created () {
    this.showLoading = true;
    setTimeout(() => {
        this.showLoading = false;
    }, 2000);
}

使用mint-ui插件

mint-ui是饿了吗开发的基于Vue.js的移动端UI组件库,提供了丰富的组件以及插件,其中也包含Toast提示框。

安装并引入mint-ui

npm i mint-ui -S
import Vue from 'vue';
import Mint from 'mint-ui';
import 'mint-ui/lib/style.css';

Vue.use(Mint);

使用全局Toast

在组件中使用全局Toast方法:

this.$toast({
    message: '提示文本',
    position: 'bottom',
    duration: 3000
});

示例1:自定义Toast

我们可以通过在Vue实例中注册一个Toast组件的方法来自定义Toast:

Vue.prototype.$myToast = function (msg, obj) {
    let def = {
        message: msg,
        position: 'bottom',
        duration: 2000
    };
    let options = Object.assign({}, def, obj);
    this.$toast(options);
}

然后在组件中就可以像这样调用自定义Toast方法了:

this.$myToast('Custom Toast', { position: 'top' });

示例2:使用Loadmore

Loadmore是 Mint-UI的一个全局Loading组件,用法与其它Toast类似:

<mt-loadmore :up="true" :auto-fill="true"></mt-loadmore>
mounted () {
    setTimeout(() => {
        this.loading = false;
    }, 2000);
}

至此,我们介绍了三种常用的Vue.js中Toast插件,包括了使用及示例代码。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue.js中toast用法及使用toast弹框的实例代码 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • Vue使用provide各种传值后inject获取undefined的问题及解决

    在Vue中,可以通过provide和inject实现非父子组件之间的数据传递。但是,在实际使用中,会遇到使用provide传递的值在inject中获取时出现undefined的情况。本文将详细讲解这个问题以及解决方案。 问题表现 使用provide向子组件提供数据,但在子组件中使用inject获取时,却获取到了undefined。 问题原因 在Vue中,pr…

    Vue 2023年5月28日
    00
  • 浅析vue给不同环境配置不同打包命令

    为了给不同环境配置不同的打包命令,我们必须先对 Vue CLI 进行配置。下面是详细攻略: 步骤一:安装 Vue CLI 首先,我们需要安装 Vue CLI。可以使用以下命令进行全局安装: npm install -g @vue/cli 安装完成之后,你可以使用以下命令检查是否安装成功: vue –version 如果看到类似以下输出,说明安装成功: @v…

    Vue 2023年5月28日
    00
  • 一文详解Vue 的双端 diff 算法

    一文详解Vue 的双端 diff 算法 什么是双端 diff 算法 双端 diff 算法是 Vue 框架中用于虚拟 DOM 更新的一个核心算法。与传统 diff 算法不同,双端 diff 算法在新的修改和比较过程中存在两个方向,从开头到结尾(前向)和从结尾到开头(后向),所以称为双端(Two-Way)算法。 双端 diff 算法的原理 Vue 双端 diff…

    Vue 2023年5月29日
    00
  • 详解spring cloud ouath2中的资源服务器

    下面是“详解Spring Cloud OAuth2中的资源服务器”的攻略: 1. 背景 在微服务架构中,通常需要一个安全的方式来处理跨服务之间的数据交换。OAuth2是最常见的安全授权标准之一,Spring Cloud OAuth2是一个基于Spring Boot的OAuth2开发框架,提供了非常便捷的使用方式。 本文将详细介绍如何搭建一个Spring Cl…

    Vue 2023年5月28日
    00
  • Vue 中可以定义组件模版的几种方式

    在 Vue 中,定义组件模版的几种方式如下: 1. 使用 template 属性 通过在组件配置中定义 template 属性,可以在组件实例中定义模版。 Vue.component(‘hello-world’, { template: ‘<div class="hello-world">Hello {{ name }}!&l…

    Vue 2023年5月27日
    00
  • vue清空form对象的方法

    当我们使用Vue框架开发前端应用时,经常需要将前端表单数据绑定到Vue实例属性,但是在一些场景中,当我们需要清空这些表单数据时,可以使用以下两种方法: 方法一:重新创建Vue实例 在一些简单的应用中,我们可以通过重新创建Vue实例来清空表单数据,示例代码如下: <template> <div> <input type=&quot…

    Vue 2023年5月28日
    00
  • Vue2.5通过json文件读取数据的方法

    以下是Vue2.5通过JSON文件读取数据的完整攻略。 准备工作 首先,我们需要准备好一个存储数据的JSON文件。 比如,我们准备好了一个叫做data.json的文件,里面存储了如下数据: { "name": "Vue2.5", "version": "2.5.22", &quo…

    Vue 2023年5月28日
    00
  • vue如何封装Axios的get、post请求

    封装 Vue Axios Get 和 Post 请求的攻略 Axios 是一款非常流行的基于 Promise 的 HTTP 客户端,它可以在浏览器和 Node.js 中同时使用,用于发送异步请求。在 Vue 应用程序中,我们使用 Axios 经常会涉及到重复的代码,如配置请求头、处理错误等,所以我们可以封装 Axios,减少代码的重复。下面,我们将讲解如何使…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部