【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 就不会再弹弹窗了,只会进行删除成功的消息提示框。

相关推荐
浮桥1 小时前
vue3实现pdf文件预览 - vue-pdf-embed
前端·vue.js·pdf
AA-代码批发V哥1 小时前
Vue框架之钩子函数详解
vue.js
七夜zippoe1 小时前
前端开发中的难题及解决方案
前端·问题
玩代码的菜鸟1 小时前
uniapp类似抖音视频滑动
uni-app
四季豆豆豆1 小时前
博客项目 laravel vue mysql 第四章 分类功能
vue.js·mysql·laravel
晓13132 小时前
JavaScript加强篇——第七章 浏览器对象与存储要点
开发语言·javascript·ecmascript
Hockor2 小时前
用 Kimi K2 写前端是一种什么体验?还支持 Claude Code 接入?
前端
杨进军2 小时前
React 实现 useMemo
前端·react.js·前端框架
海底火旺2 小时前
浏览器渲染全过程解析
前端·javascript·浏览器
你听得到112 小时前
揭秘Flutter图片编辑器核心技术:从状态驱动架构到高保真图像处理
android·前端·flutter