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中音频wavesurfer.js的使用方法
Feb 20 Vue.js
详解vue 组件注册
Nov 20 Vue.js
vue基于Echarts的拖拽数据可视化功能实现
Dec 04 Vue.js
Vue如何实现验证码输入交互
Dec 07 Vue.js
vue实现图片裁剪后上传
Dec 16 Vue.js
vue 实现基础组件的自动化全局注册
Dec 25 Vue.js
Vue实现圆环进度条的示例
Feb 06 Vue.js
Vue多选列表组件深入详解
Mar 02 Vue.js
vue实现水波涟漪效果的点击反馈指令
May 31 Vue.js
Vue过滤器(filter)实现及应用场景详解
Jun 15 Vue.js
Vue实现tab导航栏并支持左右滑动功能
Jun 28 Vue.js
vue使用wavesurfer.js解决音频可视化播放问题
Apr 04 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
PHP最常用的2种设计模式工厂模式和单例模式介绍
2012/08/14 PHP
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
深入理解PHP内核(一)
2015/11/10 PHP
JS触发服务器控件的单击事件(详解)
2016/08/06 Javascript
js输入框使用正则表达式校验输入内容的实例
2017/02/12 Javascript
canvas 绘制圆形时钟
2017/02/22 Javascript
js判断手机系统是android还是ios
2017/03/07 Javascript
angularjs中的$eval方法详解
2017/04/24 Javascript
详解vue 不同环境配置不同的打包命令
2019/04/07 Javascript
layui导出所有数据的例子
2019/09/10 Javascript
layui 富文本赋值,取值,取纯文本值的实例
2019/09/18 Javascript
微信小程序实现音频文件播放进度的实例代码
2020/03/02 Javascript
vue等两个接口都返回结果再执行下一步的实例
2020/09/08 Javascript
echarts实现晶体球面投影的实例教程
2020/10/10 Javascript
Python 元类使用说明
2009/12/18 Python
python Django连接MySQL数据库做增删改查
2013/11/07 Python
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
python进程管理工具supervisor使用实例
2014/09/17 Python
在Python下利用OpenCV来旋转图像的教程
2015/04/16 Python
Python ldap实现登录实例代码
2016/09/30 Python
再谈Python中的字符串与字符编码(推荐)
2016/12/14 Python
python中安装Scrapy模块依赖包汇总
2017/07/02 Python
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
Python 运行.py文件和交互式运行代码的区别详解
2019/07/02 Python
Python ATM功能实现代码实例
2020/03/19 Python
CSS3动画效果回调处理详解
2014/12/10 HTML / CSS
英国天然抗衰老护肤品品牌:Nakin Skin Care
2019/04/16 全球购物
Nobody Denim官网:购买高级女士牛仔裤
2021/03/15 全球购物
爱耳日宣传活动总结
2014/07/05 职场文书
幼儿园老师新年寄语2015
2014/12/08 职场文书
社区端午节活动总结
2015/02/11 职场文书
故意伤害罪辩护词
2015/05/21 职场文书
致青春观后感
2015/06/09 职场文书
汉语拼音教学反思
2016/02/22 职场文书
使用springboot暴露oracle数据接口的问题
2021/05/07 Oracle
DBCA命令行搭建Oracle ADG的流程
2021/06/11 Oracle