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!");
相关推荐
_Eleven11 分钟前
Pinia vs Vuex 深度解析与完整实战指南
前端·javascript·vue.js
技术狂小子15 分钟前
# 一个 Binder 通信中的多线程同步问题
javascript·vue.js
进击的尘埃1 小时前
Service Worker + stale-while-revalidate:让页面"假装"秒开的那些事
javascript
秋水无痕1 小时前
从零搭建个人博客系统:Spring Boot 多模块实践详解
前端·javascript·后端
进击的尘埃1 小时前
基于 Claude Streaming API 的多轮对话组件设计:状态机与流式渲染那些事
javascript
juejin_cn2 小时前
[转][译] 从零开始构建 OpenClaw — 第六部分(持久化记忆)
javascript
juejin_cn2 小时前
[转][译] 从零开始构建 OpenClaw — 第七部分(子智能体系统)
javascript
阿懂在掘金2 小时前
Vue 表单避坑(二):多个 v-model 同时更新,为什么数据丢了?
前端·vue.js
an317423 小时前
解决 VSCode 中 ESLint 格式化不生效问题:新手也能看懂的配置指南
前端·javascript·vue.js
Lee川5 小时前
🚀《JavaScript 灵魂深处:从 V8 引擎的“双轨并行”看执行上下文的演进之路》
javascript·面试