uniapp的扩展组件uni-popup 弹出层自动打开

我的需求是在页面加载完之后自动打开弹窗,自动打开只能写在onReady 或 mounted 生命周期内,这是这个组件的规定:

如果想在页面渲染完毕后就打开 uni-popup ,请在 onReady 或 mounted 生命周期内调用,确保组件渲染完毕,
但我需要在onShow()生命周期函数内判断用户是否已登录,已登录之后再去让弹窗自动打开,直接写在已登录后面会提示报错,弹窗打不开,打不开的原因是此时页面还未加载完,那么页面加载完之后再去执行弹窗打开语句就可以了,用一次性定时器加一点延迟,在定时器里面再执行弹窗打开的方法就不会报错了,我设了5毫秒之后,弹窗出现的效果也看不出多大区别。主要代码如下:

<!--订阅消息弹窗-->
<uni-popup ref="popupdingyue" type="center" :animation="false" :mask-click="false" mask-background-color="rgba(0,0,0,0.6)">
	<view class="tcbox">我是弹窗</view>
</uni-popup>
<!-- 弹窗结束位置 -->
 
 
onShow(){
			let that=this
			//判断用户是否登录
			let loginphone= uni.getStorageSync('loginphone');
			console.log("首页从缓存读取的loginphone",loginphone)
			if(!loginphone){
				console.log("loginphone为空跳到登录页面")
				uni.redirectTo({
				 	url:"../login/login",
				})
			}else{
                setTimeout(function(){
					that.$refs.popupdingyue.open() //打开提示弹窗
				},5) //5毫秒之后执行这个方法,只执行一次
				
			}
			
},

 

相关推荐

  1. uniapp扩展组件uni-popup 自动打开

    2024-03-10 17:34:03       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-10 17:34:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-10 17:34:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-10 17:34:03       82 阅读
  4. Python语言-面向对象

    2024-03-10 17:34:03       91 阅读

热门阅读

  1. 秒杀的时候怎么使用Redis?

    2024-03-10 17:34:03       39 阅读
  2. 第二十六章 :Docker 内部 DNS 服务如何使用

    2024-03-10 17:34:03       38 阅读
  3. 智慧路灯物联网解决方案

    2024-03-10 17:34:03       49 阅读
  4. 深入理解nginx负载均衡round-robin算法

    2024-03-10 17:34:03       41 阅读
  5. workflow系列教程(9)wfrest之mysql任务

    2024-03-10 17:34:03       35 阅读
  6. vue,provide和inject,备忘

    2024-03-10 17:34:03       46 阅读
  7. 硬件设计中数据运算相关处理方法

    2024-03-10 17:34:03       37 阅读
  8. SpringBoot集成自然语言处理hanlp工具包

    2024-03-10 17:34:03       39 阅读