【uniapp】uview1.x 的 u-upload 上传点击删除隐藏 modal 提示框

uview1.x 版本的 upload 默认在图片成功上传后,再点击右上角删除按钮时会弹出提示框,如图:

但是有时又不需要,想要直接提示删除成功即可,由于官网没有给出点击删除按钮时所调用的钩子函数,又无法操作 DOM,只有删除成功时的回调;

所以可以直接在项目中的 uview-ui 文件夹中找到 u-upload 组件来修改源码:

其中 deleteItem 函数时点击删除时调用的函数,里面的代码修改为:

javascript 复制代码
if (this.beforeRemove && typeof (this.beforeRemove) === 'function') {
		// 此处钩子执行 原理同before-remove参数,见上方注释
		let beforeResponse = this.beforeRemove.bind(this.$u.$parent.call(this))(index,
			this.lists)
		// 判断是否返回了promise
		if (!!beforeResponse && typeof beforeResponse.then === 'function') {
			beforeResponse.then(res => {
				// promise返回成功,不进行动作,继续上传
				this.handlerDeleteItem(index)
			}).catch(err => {
				// 如果进入promise的reject,终止删除操作
				this.showToast('已终止移除')
			})
		} else if (beforeResponse === false) {
			// 返回false,终止删除
			this.showToast('已终止移除')
		} else {
			// 如果返回true,执行删除操作
			this.handlerDeleteItem(index)
		}
} 
else {
	// 如果不存在before-remove钩子,
	this.handlerDeleteItem(index)
}

即可,这样删掉 uni.showModal 就不会再弹弹窗了,只会进行删除成功的消息提示框。

相关推荐
|晴 天|5 小时前
Vue 3 + TypeScript + Element Plus 博客系统开发总结与思考
前端·vue.js·typescript
猫3286 小时前
v-cloak
前端·javascript·vue.js
AC赳赳老秦6 小时前
OpenClaw二次开发实战:编写专属办公自动化技能,适配个性化需求
linux·javascript·人工智能·python·django·测试用例·openclaw
旷世奇才李先生6 小时前
Vue 3\+Vite\+Pinia实战:企业级前端项目架构设计
前端·javascript·vue.js
Ulyanov7 小时前
《PySide6 GUI开发指南:QML核心与实践》 第二篇:QML语法精要——构建声明式UI的基础
java·开发语言·javascript·python·ui·gui·雷达电子对抗系统仿真
空中海7 小时前
第五章:Pinia 状态管理
vue
聚美智数7 小时前
企业实际控制人查询-公司实控人查询
android·java·javascript
SoaringHeart7 小时前
Flutter进阶:用OverlayEntry 实现所有弹窗效果
前端·flutter
IT_陈寒9 小时前
Vite静态资源加载把我坑惨了
前端·人工智能·后端
herinspace9 小时前
管家婆实用贴-如何分离和附加数据库
开发语言·前端·javascript·数据库·语音识别