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)
						}
					})
				},
			})
		})
	}
相关推荐
小徐_23332 天前
Wot UI 2.2.0 发布:Button 新增 subtle,VideoPreview 预览体验继续增强
前端·微信小程序·uni-app
宸翰3 天前
解决 uni-app App 端 vue-i18n 占位符丢失:封装跨端可用的 tf 格式化方法
前端·vue.js·uni-app
时光足迹4 天前
uni-app 视频通话实战:康复师与患者视频问诊的 6 个致命 Bug 与解决方案
android·ios·uni-app
时光足迹4 天前
腾讯云 TRTC UniApp SDK 从入门到上线
前端·vue.js·uni-app
时光足迹4 天前
uni-app 里把加密视频嵌入页面播放?我分析了 4 种方案,只有 1 种接近完美
前端·vue.js·uni-app
时光足迹4 天前
JPush UniApp UTS 插件完全参考手册:API、事件与厂商通道一网打尽
vue.js·ios·uni-app
时光足迹4 天前
极光推送全攻略(下):uni-app 代码实现与 iOS 排查实战
vue.js·ios·uni-app
时光足迹4 天前
极光推送全攻略(上):被iOS证书折磨了三天,我写了一份前端也能看懂的避坑指南
前端·ios·uni-app
spmcor6 天前
身份证读卡“无感登录”方案实践:从手动点击到自动检测
uni-app
PedroQue996 天前
uni-router v1.8.0新增冷启动守卫补执行
前端·uni-app