最简单的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 相关文章推荐
浅析JavaScript中的类型和对象
Nov 29 Javascript
jquery删除数据记录时的弹出提示效果
May 06 Javascript
Extjs根据条件设置表格某行背景色示例
Jul 23 Javascript
jQuery实现自定义事件的方法
Apr 17 Javascript
JavaScript实现上下浮动的窗口效果代码
Oct 12 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
Jan 19 Javascript
JavaScript toUpperCase()方法使用详解
Aug 26 Javascript
javascript动画系列之模拟滚动条
Dec 13 Javascript
详解Express笔记之动态渲染HTML(新手入坑)
Dec 13 Javascript
mpvue小程序循环动画开启暂停的实现方法
May 15 Javascript
vue实现Excel文件的上传与下载功能的两种方式
Jun 28 Javascript
js 动态校验开始结束时间的实现代码
May 25 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
二十行语句实现从Excel到mysql的转化
2006/10/09 PHP
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
php 获取客户端的真实ip
2009/11/30 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
2014/06/12 PHP
tp5.1 框架join方法用法实例分析
2020/05/26 PHP
父页面显示遮罩层弹出半透明状态的dialog
2014/03/04 Javascript
jQuery过滤选择器:not()方法使用介绍
2014/04/20 Javascript
js常用数组操作方法简明总结
2014/06/20 Javascript
javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
2014/08/15 Javascript
jQuery后代选择器用法实例
2014/12/23 Javascript
js格式化时间的方法
2015/12/18 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
微信小程序 wxapp导航 navigator详解
2016/10/31 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
详谈js遍历集合(Array,Map,Set)
2017/04/06 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
webpack4.x打包过程详解
2018/07/18 Javascript
京东优选小程序的实现代码示例
2020/02/25 Javascript
JS如何在不同平台实现多语言方式
2020/07/16 Javascript
JavaScript中交换值的10种方法总结
2020/08/18 Javascript
[50:45]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第一场
2018/04/10 DOTA
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
Python中使用MELIAE分析程序内存占用实例
2015/02/18 Python
Python实现时间序列可视化的方法
2019/08/06 Python
Html5 new XMLHttpRequest()监听附件上传进度
2021/01/14 HTML / CSS
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
N.Peal官网:来自伦敦的高档羊绒品牌
2018/10/29 全球购物
Myprotein丹麦官网:欧洲第一运动营养品牌
2019/04/15 全球购物
请解释在new与override的区别
2012/10/29 面试题
三好学生自我鉴定
2013/12/17 职场文书
自主招生自荐信指南
2014/02/04 职场文书
公司采购主管岗位职责
2014/06/17 职场文书
离婚协议书范本(2014版)
2014/09/28 职场文书
民主生活会汇报材料
2014/12/15 职场文书
python opencv将多个图放在一个窗口的实例详解
2022/02/28 Python