uview中 u-album相册显示样式支持自定义

优点:uview中u-album相册的预览功能还是可以的

缺点:u-album相册的展示效果却有点蠢,很难构建自己需要的样式,比如:头像使用、产品详情图片等。

以下将使用插槽的形式完美使用其预览功能,直接上代码:

<template>
	<view class="zq-album">
		<slot></slot>
		<u-album class="album-wrap" :style="getAlbumStyle" :urls="getUrls" :multipleSize="size" :singleSize="size"
			:maxCount="maxCount" :rowCount="rowCount"></u-album>
	</view>
</template>

<script>
export default {
	name: "ZqAlbum",
	props: {
		urls: String | Array,
		size: {
			type: String | Number,
			default: "158"
		},
		maxCount: {
			type: Number | String,
			default: 4
		},
		rowCount: {
			type: Number | String,
			default: 4
		},
		position: {
			type: String,
			default: "relative"
		}
	},
	computed: {
		getAlbumStyle() {
			return {
				position: this.position,
				opacity: this.position === "relative" ? 1 : 0

			}
		},
		getUrls() {
			if (!this.urls) {
				return []
			} else if (typeof this.urls == "string") {
				return this.urls.split(",")
			} else {
				return this.urls
			}
		}
	},
	data() {
		return {

		};
	}
}
</script>

<style lang="scss">
.zq-album {
	position: relative;

	.album-wrap {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	}
}
</style>

部分属性介绍:

urls(比传): 图片的链接,可以是 数组,也可以是以“,”隔开的字符串;

position(非比传): 定位值有‘absolute’、‘relative’

有特殊的显示要求的时候,使用插槽进行显示,position值改为‘absolute’即可在页面上显示ui需要的样式,从而实现预览功能。

最后,单选picker组件这些组件有必要封装组件,使内部逻辑与业务层解耦,有必要吗?欢迎留言。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

天府之绝

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

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

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

打赏作者

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

抵扣说明:

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

余额充值