uniapp 通过通道$on或者$once调用函数内的showModal弹窗,但是没有反应

原因分析:

在微信小程序环境里,uni.showModal(也就是你封装的 showModel)只有在页面处于前台时才弹得出来

你把监听从 uni.once 改成 uni.on 后依旧"弹不出来",根本原因并不是事件没触发,而是触发时页面已经不可见(onHide 之后)。微信小程序的原生弹窗在页面不可见时会被系统直接忽略,所以用户看不到任何提示。


解决方案:

提示:使用nextTick包裹,在下一次页面渲染前执行

复制代码
function continueRelation(data) {
		nextTick(() => {
			console.log('continueRelation', data, showModel)
			showModel({
				title: "关联配件",
				content: "是否关联配件 "+data.map(e=>e.title).join('、'),
				confirm: () => {
					const parts = data.map(e => {
						return {
							taskId: oprateId.value,
							partId: e.id,
							partName: e.title,
							partImg: e.img,
							price: e.price,
							quantity: e.num,
							amount: e.price * e.num
						}
					})
					console.log("parts", parts)
					glPjShopOrder({
						id: oprateId.value,
						partList: parts
					}).then(res => {
						if (res.code == 200) {
							showSuccess("关联成功")
							const timer = setTimeout(() => {
								oprateFn && oprateFn()
								clearTimeout(timer);
							}, 1000)
						}
					})
				},
			})
		})
	}
相关推荐
2501_9151063210 小时前
iOS数据采集技术详解:从性能监控到崩溃分析的全链路实践
android·ios·小程序·https·uni-app·iphone·webview
我爱写代码i1 天前
AI对话绘画数字人源码 - uniapp前端
前端·人工智能·uni-app
ModyQyW1 天前
vite-plugin-uni-pages 更新了什么
前端·uni-app
2501_915918411 天前
Flutter项目配置iOS混淆的详细步骤与工具推荐
android·flutter·ios·小程序·uni-app·cocoa·iphone
梦曦i1 天前
create-uni-app v1.2.0:交互体验优化
前端·uni-app
lhldsg2 天前
智慧场馆解决方案小程序开发实战:从架构设计到部署指南
java·小程序·uni-app
skiyee2 天前
🚀 用 17 行代码给 UniApp 加上全局登录拦截
前端·uni-app
Mark108592 天前
【踩坑】Uni-app微信小程序自定义组件在 Flex 布局中未铺满整行
微信小程序·小程序·uni-app
梦曦i2 天前
create-uni-app v1.1.0:结构化生成,工程骨架更规范
前端·uni-app
2501_916007473 天前
Flutter与游戏App加固避坑指南:如何为混合开发与高交互应用选对安全方案?
安全·flutter·游戏·ios·小程序·uni-app·iphone