uniapp 实现Toast轻提示!

一、在components 文件夹下新建Toast 文件, 包含Toast.vue 和index.js

Toast.vue

复制代码
<template>
	<view class="context" v-show="isshow">
		<text class="tip">{{ text }}</text>
	</view>
</template>
<script>
	export default {
		name: "Toast",
		props: {
			isshow: {
				type: Boolean,
			},
			text: {
				type: String,
			},
		},
		watch: {
			isshow(val) {
				if (val === true) {
					setTimeout(() => {
						this.isshow = false;
					}, 2000);
				}
			},
		},
	};
</script>
<style lang="scss" 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: 20rpx 10rpx;
			border-radius: 10rpx;
			text-align: center;
			max-width: 60%;
		}
	}
</style>

index.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
};

二、在入口文件main.js文件中引入

复制代码
import {
	NewToast
} from "@/components/Toast/index.js";

Vue.use(NewToast);

三、在页面中使用

复制代码
this.$Toast("this is toast!");
相关推荐
A黄俊辉A4 天前
uniapp webview中实现 app和内嵌的H5双向通信
vue.js·json
三十而立洋4 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁4 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄4 天前
JavaScript 隐式全局变量解析
javascript
honkun64 天前
vue 表格组件 vxe-table 配置 ajax 请求自动加载数据与表单查询
vue.js·vxe-table
kybs19914 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
雪芽蓝域zzs4 天前
第26章:ECharts 自定义主题 + 页面一键切换主题(深色 / 浅色两套)
vue.js·echars
雪芽蓝域zzs4 天前
第22章:ECharts 图表联动(多图表交互联动)
vue.js·echars
daols884 天前
vue 表格组件 vxe-table 实现虚拟滚动与无需滚动加载
vue.js·vxe-table
雪芽蓝域zzs4 天前
第18章:ECharts 折线图 + 标记点、标记线,自定义 tooltip
vue.js·echars