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


Posted in Javascript onJune 16, 2019

简介

实现功能

  • 自定义文本
  • 自定义类型(默认,消息,成功,警告,危险)
  • 自定义过渡时间

使用vue-cli3.0生成项目

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

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

toast全局组件编写

/src/toast/toast.vue

<template>
 <div class="app-toast"
    v-if="isShow"
    :class="{'info': type=== 'info','success': type=== 'success','wraning': type=== 'wraning','danger': type=== 'danger'}">{{text}}</div>
</template>
<style scoped>
.app-toast {
 position: fixed;
 left: 50%;
 top: 50%;
 background: #ccc;
 padding: 10px;
 border-radius: 5px;
 transform: translate(-50%, -50%);
 color: #fff;
}
.info {
 background: #00aaee;
}
.success {
 background: #00ee6b;
}
.wraning {
 background: #eea300;
}
.danger {
 background: #ee000c;
}
</style>

/src/toast/index.js

import vue from 'vue'
import toastComponent from './toast.vue'

// 组件构造器,构造出一个 vue组件实例
const ToastConstructor = vue.extend(toastComponent)

function showToast ({ text, type, duration = 2000 }) {
 const toastDom = new ToastConstructor({
  el: document.createElement('div'),
  data () {
   return {
    isShow: true, // 是否显示
    text: text, // 文本内容
    type: type // 类型
   }
  }
 })
 // 添加节点
 document.body.appendChild(toastDom.$el)
 // 过渡时间
 setTimeout(() => {
  toastDom.isShow = false
 }, duration)
}
// 全局注册
function registryToast () {
 vue.prototype.$toast = showToast
}

export default registryToast

全局注册

/main.js

import toastRegistry from './toast/index'
Vue.use(toastRegistry)

调用

/src/views/home.vue

<template>
 <div class="home">
  <input type="button"
      value="显示弹窗"
      @click="showToast">
 </div>
</template>

<script>

export default {
 name: 'home',
 methods: {
  showToast () {
   this.$toast({
    text: '我是消息'
    // type: 'wraning',
    // duration: 3000
   })
  }
 }
}
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
A标签触发onclick事件而不跳转的多种解决方法
Jun 27 Javascript
JS实现鼠标单击与双击事件共存
Mar 08 Javascript
jQuery选择器源码解读(三):tokenize方法
Mar 31 Javascript
基于OL2实现百度地图ABCD marker的效果
Oct 01 Javascript
浅谈javascript中的加减时间
Jul 12 Javascript
jQuery多文件异步上传带进度条实例代码
Aug 16 Javascript
bootstrap配合Masonry插件实现瀑布式布局
Jan 18 Javascript
vue.js默认路由不加载linkActiveClass问题的解决方法
Dec 11 Javascript
vue两组件间值传递 $router.push实现方法
May 15 Javascript
关于layui的动态图标不显示的解决方法
Sep 04 Javascript
微信小程序基于高德地图查找位置并显示文字
Oct 30 Javascript
使用原生JS实现滚轮翻页效果的示例代码
May 31 Javascript
如何进行微信公众号开发的本地调试的方法
Jun 16 #Javascript
详解vue微信网页授权最终解决方案
Jun 16 #Javascript
浅谈一种让小程序支持JSX语法的新思路
Jun 16 #Javascript
JavaScript 处理树数据结构的方法示例
Jun 16 #Javascript
JavaScript中的ES6 Proxy的具体使用
Jun 16 #Javascript
简谈创建React Component的几种方式
Jun 15 #Javascript
JS中的一些常用的函数式编程术语
Jun 15 #Javascript
You might like
简单示例AJAX结合PHP代码实现登录效果代码
2008/07/25 PHP
ThinkPHP中U方法的使用浅析
2014/06/13 PHP
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
PHP中isset与array_key_exists的区别实例分析
2015/06/02 PHP
PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
2016/09/19 PHP
PHP基于SMTP协议实现邮件发送实例代码
2017/04/27 PHP
PHP 文件锁与进程锁的使用示例
2017/08/07 PHP
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
2010/03/20 Javascript
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
2010/04/14 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
详解js闭包
2014/09/02 Javascript
javascript实现仿百度图片的瀑布流加载效果
2016/04/20 Javascript
微信小程序 解决请求服务器手机预览请求不到数据的方法
2017/01/04 Javascript
几种tab切换详解
2017/02/03 Javascript
vue中mint-ui环境搭建详细介绍
2017/04/06 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
2017/04/13 Javascript
js调用刷新界面的几种方式
2017/05/03 Javascript
详解webpack介绍&amp;安装&amp;常用命令
2017/06/29 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
2017/11/22 Javascript
浅析JS中什么是自定义react数据验证组件
2018/10/19 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
2018/11/02 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
JavaScript正则表达式验证登录实例
2020/03/18 Javascript
python频繁写入文件时提速的方法
2019/06/26 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
解决Tensorflow sess.run导致的内存溢出问题
2020/02/05 Python
韩国爱茉莉太平洋化妆品美国站:Amore Pacific US
2016/10/28 全球购物
法国票务网站:Ticketmaster法国
2018/07/09 全球购物
送给他或她的礼物:FUN.com
2018/08/17 全球购物
JD Sports芬兰:英国领先的运动鞋和运动服饰零售商
2018/11/16 全球购物
总经理工作职责范文
2014/03/14 职场文书
销售类求职信
2014/06/13 职场文书
我的中国梦演讲稿300字
2014/08/19 职场文书
谁动了我的奶酪读书笔记
2015/06/30 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
django 认证类配置实现
2021/11/11 Python