自定义Uview的Album 相册组件添加删除功能

本文介绍如何在Album组件中添加删除图片功能,并实现图片预览及超出数量折叠效果。

功能需要,直接使用了Album组件 不用自己去调样式了,直接可以大图预览,对超出限制数量的照片可以折叠
在这里插入图片描述

修改组件

先找到组件中图片的位置。添加一格删除图标,给图标添加点击事件,我这里显示图片的地址是包含文件id的 从删除的点击事件在预览地址中取出文件id就行传回父组件就想行。
在这里插入图片描述
这里有个事件冒泡,需要处理下,不然会点击也有预览效果

<view @click.stop="del(item)" class="delIcon">
	<image src="@/static/delete.png" style="width: 20px;height: 20px;" mode=""></image>
</view>

在这里插入图片描述

修改样式

.delIcon {
	position: absolute;
	right: 0
}

添加事件

del(item) {
	let id = item.split('=')[1]
	this.$emit('delPicClick', id) //父组件中调用删除方法 同时刷新数据,把id交出去
},

调用组件的地方,拿到需要删除的ID

<u-album @delPicClick="delPicClick" class="album" :urls="urls2" :multipleSize="width"></u-album>
//子组件的相应事件
delPicClick(id) {
				delPic({id}).then(res => {   //删除接口
					this.getPhotoList()
				})
			},

修改之后的Album组件

<template>
	<view class="u-album">
		<view class="u-album__row" ref="u-album__row" v-for="(arr, index) in showUrls" :forComputedUse="albumWidth"
			:key="index">
			<view class="u-album__row__wrapper" v-for="(item, index1) in arr" :key="index1"
				:style="[imageStyle(index + 1, index1 + 1)]" @tap="previewFullImage ? onPreviewTap(getSrc(item)) : ''">
		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

codernmx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值