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 的 v-model用法实例
Nov 23 Vue.js
vue el-upload上传文件的示例代码
Dec 21 Vue.js
vue-cli4.0多环境配置变量与模式详解
Dec 30 Vue.js
vue调用微信JSDK 扫一扫,相册等需要注意的事项
Jan 03 Vue.js
浅谈Vue开发人员的7个最好的VSCode扩展
Jan 20 Vue.js
Vue包大小优化的实现(从1.72M到94K)
Feb 18 Vue.js
vue-router路由懒加载及实现的3种方式
Feb 28 Vue.js
vue路由实现登录拦截
Mar 24 Vue.js
如何理解Vue简单状态管理之store模式
May 15 Vue.js
vue3获取当前路由地址
Feb 18 Vue.js
vue如何使用模拟的json数据查看效果
Mar 31 Vue.js
Vue组件更新数据v-model不生效的解决
Apr 02 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去除换行符的方法小结(PHP_EOL变量的使用)
2013/02/16 PHP
php权重计算方法代码分享
2014/01/09 PHP
PHP添加Xdebug扩展的方法
2014/02/12 PHP
php获取json数据所有的节点路径
2015/05/17 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
Javascript之文件操作
2007/03/07 Javascript
关于javascript document.createDocumentFragment()
2009/04/04 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
jquery重新播放css动画所遇问题解决
2013/08/21 Javascript
自定义的一个简单时尚js下拉选择框
2013/11/20 Javascript
js跳转页面方法总结
2014/01/29 Javascript
js+css实现tab菜单切换效果的方法
2015/01/20 Javascript
JS实现双击屏幕滚动效果代码
2015/10/28 Javascript
Three.js学习之几何形状
2016/08/01 Javascript
AngularJS  $modal弹出框实例代码
2016/08/24 Javascript
BootStrap实现带关闭按钮功能
2017/02/15 Javascript
JavaScript监听手机物理返回键的两种解决方法
2017/08/14 Javascript
详解layui弹窗父子窗口之间传参数的方法
2018/01/16 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
2018/12/30 Javascript
jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
2019/06/04 jQuery
Python安装Imaging报错:The _imaging C module is not installed问题解决方法
2014/08/22 Python
python中global用法实例分析
2015/04/30 Python
Python实现合并字典的方法
2015/07/07 Python
使用python itchat包爬取微信好友头像形成矩形头像集的方法
2019/02/21 Python
Python Tkinter模块 GUI 可视化实例
2019/11/20 Python
仿CSDN Blog返回页面顶部功能实现原理及代码
2013/06/30 HTML / CSS
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
法国包包和行李箱销售网站:Bagage24.fr
2020/03/24 全球购物
银行自荐信范文
2013/10/07 职场文书
人力资源主管职责范本
2014/03/05 职场文书
毕业生党员个人总结
2015/02/14 职场文书
党支部书记岗位职责
2015/02/15 职场文书
学术会议通知
2015/04/15 职场文书
MySQL单表千万级数据处理的思路分享
2021/06/05 MySQL
Python3的进程和线程你了解吗
2022/03/16 Python