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

相关推荐
web小白成长日记14 小时前
深入理解 React 中的 Props:组件通信的桥梁
前端·javascript·react.js
2501_9466756414 小时前
Flutter与OpenHarmony打卡步进器组件
java·javascript·flutter
tjswk200814 小时前
在ios上动态插入元素的列表使用:last-child样式可能不能及时生效
前端
小小荧14 小时前
CSS 写 SQL 查询?后端慌了!
前端·sql
小高00714 小时前
🔥3 kB 换 120 ms 阻塞? Axios 还是 fetch?
前端·javascript·面试
千寻girling14 小时前
面试官 : “ Vue 选项式api 和 组合式api 什么区别? “
前端·vue.js·面试
小二·14 小时前
从零手写《超级玛丽》——前端 Canvas 游戏开发与物理引擎
前端·游戏
da_vinci_x14 小时前
【2D场景】16:9秒变21:9?PS “液态缩放” + AI 补全,零成本适配全面屏
前端·人工智能·游戏·aigc·设计师·贴图·游戏美术
南知意-15 小时前
3.3K Star ! 超级好用开源大屏设计器!
前端·开源·开源项目·工具·大屏设计