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 相关文章推荐
vue3.0实现点击切换验证码(组件)及校验
Nov 18 Vue.js
vue的hash值原理也是table切换实例代码
Dec 14 Vue.js
vue监听滚动事件的方法
Dec 21 Vue.js
vue项目中openlayers绘制行政区划
Dec 24 Vue.js
vue+openlayers绘制省市边界线
Dec 24 Vue.js
vue实现轮播图帧率播放
Jan 26 Vue.js
Vue项目打包、合并及压缩优化网页响应速度
Jul 07 Vue.js
详解Vue router路由
Nov 20 Vue.js
vue实现拖拽交换位置
Apr 07 Vue.js
vue中this.$http.post()跨域和请求参数丢失的解决
Apr 08 Vue.js
vue 自定义的组件绑定点击事件
Apr 21 Vue.js
vue里使用create, mounted调用方法
Apr 26 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仿ZOL分页类代码
2008/10/02 PHP
PHP教程 变量定义
2009/10/23 PHP
php多层数组与对象的转换实例代码
2013/08/05 PHP
PHP模板引擎Smarty中变量的使用方法示例
2016/04/11 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
2016/11/28 PHP
php中try catch捕获异常实例详解
2020/08/06 PHP
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
jQuery中setTimeout的几种使用方法小结
2013/04/07 Javascript
js中indexof的用法详细解析
2013/12/24 Javascript
ActiveX控件与Javascript之间的交互示例
2014/06/04 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
2014/10/20 Javascript
浅析函数声明和函数表达式——函数声明的声明提前
2016/05/03 Javascript
Bootstrap实现翻页效果
2017/11/27 Javascript
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
vue axios基于常见业务场景的二次封装的实现
2018/09/21 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
2018/09/30 Javascript
JAVA面试题 static关键字详解
2019/07/16 Javascript
浅谈webpack和webpack-cli模块源码分析
2020/01/19 Javascript
javascript实现点击产生随机图形
2021/01/25 Javascript
[01:01:52]完美世界DOTA2联赛PWL S2 GXR vs Magma 第二场 11.25
2020/11/26 DOTA
详解python3百度指数抓取实例
2016/12/12 Python
对python中的for循环和range内置函数详解
2018/04/17 Python
selenium使用chrome浏览器测试(附chromedriver与chrome的对应关系表)
2018/11/29 Python
Python利用pandas处理Excel数据的应用详解
2019/06/18 Python
python3中eval函数用法使用简介
2019/08/02 Python
pytorch获取vgg16-feature层输出的例子
2019/08/20 Python
pyinstaller打包程序exe踩过的坑
2019/11/19 Python
python爬虫实现POST request payload形式的请求
2020/04/30 Python
美国知名运动产品零售商:Foot Locker
2016/07/23 全球购物
为女性购买传统的印度服装和婚纱:Kalkifashion
2019/07/22 全球购物
正宗的日本零食和糖果订阅盒:Bokksu
2019/11/21 全球购物
技术人员面试提纲
2013/11/28 职场文书
党支部公开承诺践诺书
2014/03/28 职场文书
机械加工与数控专业自荐书
2014/06/04 职场文书
2014年扶贫工作总结
2014/11/18 职场文书
小学班主任事迹材料
2014/12/17 职场文书