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实现表格合并功能
Dec 01 Vue.js
vue导入.md文件的步骤(markdown转HTML)
Dec 31 Vue.js
基于VUE实现简单的学生信息管理系统
Jan 13 Vue.js
Vue实现图书管理案例
Jan 20 Vue.js
vue实现验证用户名是否可用
Jan 20 Vue.js
Vue使用Ref跨层级获取组件的步骤
Jan 25 Vue.js
vue 使用饿了么UI仿写teambition的筛选功能
Mar 01 Vue.js
Vue中foreach数组与js中遍历数组的写法说明
Jun 05 Vue.js
vue.js Router中嵌套路由的实用示例
Jun 27 Vue.js
vue整合百度地图显示指定地点信息
Apr 06 Vue.js
VUE之图片Base64编码使用ElementUI组件上传
Apr 09 Vue.js
vue+elementUI实现表格列的显示与隐藏
Apr 13 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
把从SQL中取出的数据转化成XMl格式
2006/10/09 PHP
PHP设计聊天室步步通
2006/10/09 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
JavaScript 基础篇之运算符、语句(二)
2012/04/07 Javascript
js监听键盘事件示例代码
2013/07/26 Javascript
常用的JavaScript验证正则表达式汇总
2013/11/26 Javascript
javascript使用appendChild追加节点实例
2015/01/12 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
2015/03/04 Javascript
jQuery实现当前页面标签高亮显示的方法
2015/03/10 Javascript
jquery实现表格本地排序的方法
2015/03/11 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
jQuery 3.0 的变化及使用方法
2016/02/01 Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
2016/03/25 Javascript
jQuery插件zTree实现更新根节点中第i个节点名称的方法示例
2017/03/08 Javascript
JS给按钮添加跳转功能类似a标签
2017/05/30 Javascript
requireJS模块化实现返回顶部功能的方法详解
2017/10/16 Javascript
node crawler如何添加promise支持
2020/02/01 Javascript
微信小程序地图实现展示线路
2020/07/29 Javascript
在vue中axios设置timeout超时的操作
2020/09/04 Javascript
python中去空格函数的用法
2014/08/21 Python
python通过post提交数据的方法
2015/05/06 Python
python实现下载整个ftp目录的方法
2017/01/17 Python
Python3实现发送QQ邮件功能(文本)
2017/12/15 Python
python2.7安装图文教程
2018/03/13 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
2018/10/11 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
2019/07/22 Python
python内存监控工具memory_profiler和guppy的用法详解
2019/07/29 Python
Python爬虫爬取Bilibili弹幕过程解析
2019/10/10 Python
Python超越函数积分运算以及绘图实现代码
2019/11/20 Python
python实现银行账户系统
2021/02/22 Python
html5实现canvas阴影效果示例
2014/05/07 HTML / CSS
开发房地产协议书
2014/09/14 职场文书
祝寿主持词
2015/07/02 职场文书
入党宣誓大会后的感想
2015/08/10 职场文书
5人制售《绝地求生》游戏外挂获利500多万元 被判刑
2022/03/31 其他游戏
Spring Boot 底层原理基础深度解析
2022/04/03 Java/Android