# Album 相册
本组件提供一个类似相册的功能,让开发者开发起来更加得心应手。减少重复的模板代码
# 平台差异说明
App(vue) | App(nvue) | H5 | 小程序 |
---|---|---|---|
√ | √ | √ | √ |
# 基本使用
- 通过
urls
设置相册的图片地址,搭配image等做出更棒的效果!
<template>
<view class="u-page">
<view class="u-demo-block">
<text class="u-demo-block__title">多图模式</text>
<view class="u-demo-block__content">
<view class="album">
<view class="album__avatar">
<image
src="/static/uview/common/logo.png"
mode=""
style="width: 32px;height: 32px;"
></image>
</view>
<view class="album__content">
<up-text
text="uview-plus UI"
type="primary"
bold
size="17"
></up-text>
<up-text
margin="0 0 8px 0"
text="全面的组件和便捷的工具会让您信手拈来,如鱼得水"
></up-text>
<up-album :urls="urls1" keyName="src2"></up-album>
</view>
</view>
</view>
</view>
</view>
</template>
<script setup>
import { ref } from 'vue';
// 响应式数据
const albumWidth = ref(0);
const urls1 = ref([{
src2: 'https://uview-plus.jiangruyi.com/uview-plus/album/1.jpg',
}]);
</script>
<style lang="scss">
.album {
@include flex;
align-items: flex-start;
&__avatar {
background-color: $up-bg-color;
padding: 5px;
border-radius: 3px;
}
&__content {
margin-left: 10px;
flex: 1;
}
}
</style>
# 多图模式
- 通过
urls
传入更多的图片地址形成图片列表
<template>
<view class="u-page">
<view class="u-demo-block">
<text class="u-demo-block__title">多图模式</text>
<view class="u-demo-block__content">
<view class="album">
<view class="album__avatar">
<image
src="/static/uview/common/logo.png"
mode=""
style="width: 32px;height: 32px;"
></image>
</view>
<view class="album__content">
<up-text
text="uview-plus UI"
type="primary"
bold
size="17"
></up-text>
<up-text
margin="0 0 8px 0"
text="全面的组件和便捷的工具会让您信手拈来,如鱼得水"
></up-text>
<up-album :urls="urls2"></up-album>
</view>
</view>
</view>
</view>
</view>
</template>
<script setup>
import { ref } from 'vue';
// 响应式数据
const albumWidth = ref(0);
const urls2 = ref([
'https://uview-plus.jiangruyi.com/uview-plus/album/1.jpg',
'https://uview-plus.jiangruyi.com/uview-plus/album/2.jpg',
'https://uview-plus.jiangruyi.com/uview-plus/album/3.jpg',
'https://uview-plus.jiangruyi.com/uview-plus/album/4.jpg',
'https://uview-plus.jiangruyi.com/uview-plus/album/5.jpg',
'https://uview-plus.jiangruyi.com/uview-plus/album/6.jpg',
'https://uview-plus.jiangruyi.com/uview-plus/album/7.jpg',
'https://uview-plus.jiangruyi.com/uview-plus/album/8.jpg',
'https://uview-plus.jiangruyi.com/uview-plus/album/9.jpg',
'https://uview-plus.jiangruyi.com/uview-plus/album/10.jpg',
]);
</script>
<style lang="scss">
.album {
@include flex;
align-items: flex-start;
&__avatar {
background-color: $up-bg-color;
padding: 5px;
border-radius: 3px;
}
&__content {
margin-left: 10px;
flex: 1;
}
}
</style>
# 右侧演示页面源代码地址
# API
# Props
参数 | 说明 | 类型 | 默认值 | 可选值 |
---|---|---|---|---|
urls | 图片地址列表 支持 Array<String> | Array<Object>形式 | Array | - | - |
keyName | 指定从数组的对象元素中读取哪个属性作为图片地址 | String | - | - |
singleSize | 单图时,图片长边的长度 | String | Number | 180 | - |
multipleSize | 多图时,图片边长 | String | Number | 70 | - |
space | 多图时,图片水平和垂直之间的间隔 | String | Number | 6 | - |
singleMode | 单图时,图片缩放裁剪的模式 | String | scaleToFill | - |
multipleMode | 多图时,图片缩放裁剪的模式 | String | aspectFill | - |
maxCount | 最多展示的图片数量,超出时最后一个位置将会显示剩余图片数量 | String | Number | 9 | - |
previewFullImage | 是否可以预览图片 | Boolean | true | false |
rowCount | 每行展示图片数量,如设置,singleSize和multipleSize将会无效 | String | Number | 3 | - |
showMore | 超出maxCount时是否显示查看更多的提示 | Boolean | true | false |
autoWrap | 自适应换行模式,不受rowCount限制。 | Boolean | false | true |
unit | 图片宽度单位 | String | px | rpx |
# Event
事件名 | 说明 | 回调参数 |
---|---|---|
albumWidth | 某些特殊的情况下,需要让文字与相册的宽度相等,这里事件的形式对外发送 | width |
← Slider 滑动选择器 List 列表 →