最简单的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 相关文章推荐
使两个iframe的高度与内容自适应,且相等
Nov 20 Javascript
JavaScript学习笔记之获取当前目录的实现代码
Dec 14 Javascript
浅析jQuery中常用的元素查找方法总结
Jul 04 Javascript
JQuery对id中含有特殊字符的转义处理示例
Sep 06 Javascript
图片上传插件jquery.uploadify详解
Nov 15 Javascript
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
May 17 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
Dec 08 Javascript
基于JavaScript+HTML5 实现打地鼠小游戏逻辑流程图文详解(附完整代码)
Nov 02 Javascript
JS基于贪心算法解决背包问题示例
Nov 27 Javascript
js实现二级菜单点击显示当前内容效果
Apr 28 Javascript
微信小程序实现购物车代码实例详解
Aug 29 Javascript
Ant Design Vue 添加区分中英文的长度校验功能
Jan 21 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
ASP和PHP都是可以删除自身的
2007/04/09 PHP
PHP 文件扩展名 获取函数
2009/06/03 PHP
Php图像处理类代码分享
2012/01/19 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
2015/08/21 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
2019/04/23 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
2020/01/26 PHP
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
javascript开发中因空格引发的错误
2010/11/08 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
js获取某月的最后一天日期的简单实例
2013/06/22 Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
2015/03/18 Javascript
浅谈DOCTYPE对$(window).height()取值的影响
2016/07/21 Javascript
jQuery回调方法使用示例
2017/06/26 jQuery
解决vue动态为数据添加新属性遇到的问题
2018/09/18 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
JS实现的类似微信聊天效果示例
2019/01/29 Javascript
Python学习之asyncore模块用法实例教程
2014/09/29 Python
Python中统计函数运行耗时的方法
2015/05/05 Python
Python入门教程之if语句的用法
2015/05/14 Python
深入讲解Python中面向对象编程的相关知识
2015/05/25 Python
django连接mysql配置方法总结(推荐)
2018/08/18 Python
Python 列表去重去除空字符的例子
2019/07/20 Python
Python文件路径名的操作方法
2019/10/30 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
python3.x 生成3维随机数组实例
2019/11/28 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
Python基于模块Paramiko实现SSHv2协议
2020/04/28 Python
python中导入 train_test_split提示错误的解决
2020/06/19 Python
如何使用Python调整图像大小
2020/09/26 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
详解HTML5中垂直上下居中的解决方案
2017/12/20 HTML / CSS
Myprotein法国官网:欧洲第一运动营养品牌
2019/03/26 全球购物
C#如何调用Word并打开一个Word文档
2013/05/08 面试题
幼儿园保教管理制度
2014/02/03 职场文书
天河观后感
2015/06/11 职场文书
安全伴我行主题班会
2015/08/13 职场文书