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

相关推荐
gjxDaniel2 分钟前
JavaScript编程语言入门与常见问题
开发语言·javascript
快起来搬砖了2 分钟前
【UniApp 实战】封装高性能本地缓存工具类:支持过期自动清理、数据类型自动转换
缓存·uni-app
Mr Xu_6 分钟前
从零实战!使用 Mars3D 快速构建水利监测 WebGIS 系统
前端·3d·webgis
游戏开发爱好者86 分钟前
在 Linux 环境通过命令行上传 IPA 到 App Store,iOS自动化构建与发布
android·linux·ios·小程序·uni-app·自动化·iphone
wuhen_n8 分钟前
类型断言:as vs <> vs ! 的使用边界与陷阱
前端·javascript·typescript
⑩-8 分钟前
VUE3-组件通信
前端·javascript·vue.js
哆啦A梦158812 分钟前
Vue3魔法手册 作者 张天禹 02
前端·vue.js·typescript
老前端的功夫15 分钟前
抛弃 `!important`,让 CSS 优先级变大
前端·javascript·css·npm·node.js
熊文豪20 分钟前
Tomcat+cpolar 让 Java Web 应用随时随地可访问
java·前端·tomcat·cpolar
衫水21 分钟前
如何在离线情况下部署项目(前端VUE + 后端Python)
前端·vue.js·python