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!");
相关推荐
@大迁世界16 小时前
43.HTML 事件处理和 React 事件处理有什么区别?
前端·javascript·react.js·html·ecmascript
ZC跨境爬虫16 小时前
跟着 MDN 学 HTML day_38:(DocumentFragment 文档片段接口详解)
前端·javascript·ui·html·音视频
@大迁世界18 小时前
41.ShadCN 是什么?它如何和 Tailwind CSS 集成,从而更容易构建可访问且可自定义的 React 组件?
前端·javascript·css·react.js·前端框架
xiangxiongfly91519 小时前
Vue3 根据角色权限动态加载路由
前端·javascript·vue.js·动态加载路由
Aolith20 小时前
我是怎么把个人论坛首页性能从80分优化到100分的(附踩坑全记录)
vue.js·性能优化
费曼学习法21 小时前
React 18 并发模式(Concurrent Mode):Fiber 架构的终极进化
javascript·react.js
_风满楼21 小时前
TDD 进阶:换个角度看会议室预约
前端·javascript·github
Amy_yang21 小时前
uni-app 安卓端纯前端预览 DOCX 的实现思路
前端·vue.js
子兮曰21 小时前
SuperSplat 深度解析:7.6K Stars 的浏览器端 3D 高斯泼溅编辑器 — 在 Web 上编辑现实
前端·javascript·webgl
小徐_233321 小时前
Wot UI v1 升级 v2?这份迁移指南帮你少踩坑!
前端·微信小程序·uni-app