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 26 Vue.js
vue 使用class创建和清除水印的示例代码
Dec 25 Vue.js
vue实现图书管理系统
Dec 29 Vue.js
vue实现防抖的实例代码
Jan 11 Vue.js
vue使用transition组件动画效果的实例代码
Jan 28 Vue.js
vue3中的组件间通信
Mar 31 Vue.js
使用这 6个Vue加载动画库来减少我们网站的跳出率
May 18 Vue.js
vue实现同时设置多个倒计时
May 20 Vue.js
Vue自定义铃声提示音组件的实现
Jan 22 Vue.js
vue项目中的支付功能实现(微信支付和支付宝支付)
Feb 18 Vue.js
Axios代理配置及封装响应拦截处理方式
Apr 07 Vue.js
vue项目配置sass及引入外部scss文件
Apr 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
我的论坛源代码(五)
2006/10/09 PHP
PHP中数组定义的几种方法
2013/09/01 PHP
php读取纯真ip数据库使用示例
2014/01/26 PHP
destoon实现公司新闻详细页添加评论功能的方法
2014/07/15 PHP
Zend Framework分发器用法示例
2016/12/11 PHP
jQuery源码分析之Event事件分析
2010/06/07 Javascript
js实现的仿新浪微博完美的时间组件升级版
2011/12/20 Javascript
html向js方法传递参数具体实现
2013/08/08 Javascript
js中split函数的使用方法说明
2013/12/26 Javascript
回车直接实现点击某按钮的效果即触发单击事件
2014/02/27 Javascript
js判断字符长度及中英文数字等
2014/03/19 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
bootstrap监听滚动实现头部跟随滚动
2016/11/08 Javascript
jQuery根据ID、CLASS、等获取对象的实例
2016/12/04 Javascript
AngularJS指令与指令之间的交互功能示例
2016/12/14 Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
2016/12/26 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
微信小程序 input输入及动态设置按钮的实现
2017/10/27 Javascript
JavaScript寄生组合式继承实例详解
2018/01/06 Javascript
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
基于mpvue小程序使用echarts画折线图的方法示例
2019/04/24 Javascript
webpack中的模式(mode)使用详解
2020/02/20 Javascript
基于javascript原生判断DOM是否加载完毕
2020/10/14 Javascript
Django中modelform组件实例用法总结
2020/02/10 Python
在 Python 中使用 MQTT的方法
2020/08/18 Python
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
网络工程师专家职业发展路线
2014/02/14 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
中班上学期幼儿评语
2014/04/30 职场文书
小学兴趣小组活动总结
2014/07/07 职场文书
我们的节日春节活动方案
2014/08/22 职场文书
党员个人对照检查材料思想汇报
2014/09/16 职场文书
坎儿井导游词
2015/02/09 职场文书
开会通知
2015/04/20 职场文书
农村党员干部承诺书
2015/05/04 职场文书
详细了解java监听器和过滤器
2021/07/09 Java/Android