vue实现Toast组件轻提示


Posted in Vue.js onApril 10, 2022

vue实现Toast轻提示

首先创建一个toast组件

<template>
  <div class="context" v-show="isshow">
    <span class="tip">{{ text }}</span>
  </div>
</template>
<script>
export default {
  name: "Toast",
  props: {
    isshow: {
      type: Boolean,
    },
    text: {
      type: String,
    },
  },
  watch: {
    isshow(val) {
      if (val === true) {
        setTimeout(() => {
          this.isshow = false;
        }, 3000);
      }
    },
  },
};
</script>
<style lang="less" scoped>
.context {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  display: flex;
  justify-content: center;
  align-items: center;
  .tip {
    background-color: rgba(40, 40, 40, 0.8);
    color: aliceblue;
    font-size: 0.6rem;
    padding: 0.2rem;
    border-radius: 0.1rem;
  }
}
</style>

在js文件中引入组件

import Toast from "./Toast.vue";
let NewToast = {
  install: function (Vue) {
    //创建vue插件,官方地址https://cn.vuejs.org/v2/guide/plugins.html
    let newToast = Vue.extend(Toast); //创建vue构造器,官方地址https://cn.vuejs.org/v2/api/#Vue-extend
    let toast = new newToast(); //创建实例
    document.body.appendChild(toast.$mount().$el); //挂载
    Vue.prototype.$Toast = function (text) {
      toast.isshow = true; // 传入props
      toast.text = text; // 传入props
    };
  },
};
export { NewToast };

在入口文件中引入上面这个js文件

import { NewToast } from "@/components/index.js";
Vue.use(NewToast);

下面就可以在view里全局使用了

but() {
    this.$Toast("Are you ok ?");
},

效果图

vue实现Toast组件轻提示

这样一个简单的轻提示就好了,觉得样式丑的话,可以自己调一下。

使用vant的Toast轻提示报错

记录一下今天使用vant中的Toast 轻提示,按照官方文档中的方法去使用发现报错使用不了。

文档中是这样写的

Toast.success('成功文案');
Toast.fail('失败文案');

main.js中引用vant后直接调用Toast报错。

实际使用是这样写

this.$toast.success("成功文案");
this.$toast.fail("失败文案");

和调用路由一样需要this点出来。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。 

Vue.js 相关文章推荐
一篇超完整的Vue新手入门指导教程
Nov 18 Vue.js
vue+element_ui上传文件,并传递额外参数操作
Dec 05 Vue.js
浅析vue中的nextTick
Dec 28 Vue.js
Vue中inheritAttrs的使用实例详解
Dec 31 Vue.js
Vue中引入svg图标的两种方式
Jan 14 Vue.js
vue backtop组件的实现完整代码
Apr 07 Vue.js
Vue中foreach数组与js中遍历数组的写法说明
Jun 05 Vue.js
详解Vue slot插槽
Nov 20 Vue.js
Vue中Object.assign清空数据报错的解决方案
Mar 03 Vue.js
vue中控制mock在开发环境使用,在生产环境禁用方式
Apr 06 Vue.js
vue中this.$http.post()跨域和请求参数丢失的解决
Apr 08 Vue.js
vue实现input输入模糊查询的三种方式
Aug 14 Vue.js
vue自定义右键菜单之全局实现
Apr 09 #Vue.js
vue判断按钮是否可以点击
Apr 09 #Vue.js
VUE之图片Base64编码使用ElementUI组件上传
Apr 09 #Vue.js
vue如何实现关闭对话框后刷新列表
Apr 08 #Vue.js
vue实现列表垂直无缝滚动
Apr 08 #Vue.js
vue3引入highlight.js进行代码高亮的方法实例
vue中的可拖拽宽度div的实现示例
You might like
星际RPG字典
2020/03/04 星际争霸
PHP取整函数:ceil,floor,round,intval的区别详细解析
2013/08/31 PHP
PHP检测移动设备类mobile detection使用实例
2014/04/14 PHP
php自动识别文件编码并转换为UTF-8的方法
2014/06/12 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
2017/05/23 PHP
PHP实现限制域名访问的实现代码(本地验证)
2020/09/13 PHP
在IE上直接编辑网页内容的js代码(IE地址栏js)
2009/04/27 Javascript
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
Knockout visible绑定使用方法
2013/11/15 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
2014/09/10 Javascript
javascript学习笔记(六)数据类型和JSON格式
2014/10/08 Javascript
javascript继承机制实例详解
2014/11/20 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
Svg.js实例教程及使用手册详解(一)
2016/05/16 Javascript
Bootstrap的modal拖动效果
2016/12/25 Javascript
vue2.0 中#$emit,$on的使用详解
2017/06/07 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
集合Bootstrap自定义confirm提示效果
2017/09/19 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
2017/11/03 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
2018/05/07 Javascript
jQuery模拟html下拉多选框的原生实现方法示例
2019/05/30 jQuery
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
2020/01/19 Python
python super用法及原理详解
2020/01/20 Python
打包PyQt5应用时的注意事项
2020/02/14 Python
Python实现封装打包自己写的代码,被python import
2020/07/12 Python
html5需遵循的6个设计原则
2016/04/27 HTML / CSS
自我评价格式
2014/01/06 职场文书
微观物理专业自荐信
2014/01/26 职场文书
个人简历中的自我评价怎么写
2014/01/26 职场文书
男方婚前保证书
2015/02/28 职场文书
伊索寓言读书笔记
2015/06/30 职场文书
生产设备维护保养制度
2015/08/06 职场文书
继续教育心得体会(共6篇)
2016/01/19 职场文书
Python Flask实现进度条
2022/05/11 Python
使用pd.merge表连接出现多余行的问题解决
2022/06/16 Python