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使用echarts图表自适应的几种解决方案
Dec 04 Vue.js
vue中利用three.js实现全景图的完整示例
Dec 07 Vue.js
vue实现两个区域滚动条同步滚动
Dec 13 Vue.js
详解Vue的七种传值方式
Feb 08 Vue.js
Vue基本指令实例图文讲解
Feb 25 Vue.js
vite2.0+vue3移动端项目实战详解
Mar 03 Vue.js
Vue + iView实现Excel上传功能的完整代码
Jun 22 Vue.js
详解Vue router路由
Nov 20 Vue.js
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
Nov 27 Vue.js
Vue.js中v-for指令的用法介绍
Mar 13 Vue.js
vue-cil之axios的二次封装与proxy反向代理使用说明
Apr 07 Vue.js
vue el-table实现递归嵌套的示例代码
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
PHP 关于访问控制的和运算符优先级介绍
2013/07/08 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
2016/07/20 PHP
php代码调试利器firephp安装与使用方法分析
2018/08/21 PHP
给页面渲染时间加速 干掉Dom Level 0 Event
2012/12/19 Javascript
jquery动态加载select下拉框示例代码
2013/12/10 Javascript
使用jquery实现以post打开新窗口
2014/03/19 Javascript
JavaScript中textRange对象使用方法小结
2015/03/24 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
2016/01/26 Javascript
jQuery xml字符串的解析、读取及查找方法
2016/03/01 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
2016/06/13 Javascript
JS实现给json数组动态赋值的方法示例
2020/03/19 Javascript
Vue.js数据绑定之data属性
2017/07/07 Javascript
JS实现的简单表单验证功能示例
2017/10/13 Javascript
JavaScript适配器模式详解
2017/10/19 Javascript
vue实现滑动切换效果(仅在手机模式下可用)
2020/06/29 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
2019/11/06 Javascript
vue el-table实现自定义表头
2019/12/11 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
2020/05/09 Javascript
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
python操作sqlite的CRUD实例分析
2015/05/08 Python
用Python计算三角函数之atan()方法的使用
2015/05/15 Python
python 处理dataframe中的时间字段方法
2018/04/10 Python
python使用scrapy发送post请求的坑
2018/09/04 Python
tensorflow实现简单逻辑回归
2018/09/07 Python
举例讲解Python常用模块
2019/03/08 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
FFT快速傅里叶变换的python实现过程解析
2019/10/21 Python
python3让print输出不换行的方法
2020/08/24 Python
学校元旦晚会方案
2014/02/19 职场文书
公司总经理岗位职责
2014/03/15 职场文书
党课知识竞赛主持词
2014/04/01 职场文书
租房协议书
2014/04/10 职场文书
应届生面试求职信
2014/07/02 职场文书
2019年健身俱乐部的创业计划书
2019/08/26 职场文书
Go gorilla/sessions库安装使用
2022/08/14 Golang