Skip to content

Avatar 头像

查看 sn-avatar 的 2.0 版本差异

基础用法

  • sn-avatar 用以展示用户头像,支持图片(image)、文本(text)、图标(icon)三种展示模式
  • 支持 shape 切换方形/圆形,enable-preview 开启后点击图片头像可预览大图
  • sn-avatar-group 用于将多个头像组成头像组,支持堆叠(heap)与分散(spread)两种布局模式,超出数量上限自动显示 "+N"
vue
<template>
	<sn-avatar src="https://www.example.com/example.png" shape="circle" size="60px"></sn-avatar>
</template>

更多演示请下载 demo 查看

属性

参数说明类型默认值可选值
mode头像展示模式Stringimageimage | text | icon
src图片模式下头像图片地址String''-
imageMode图片裁剪铺满方式StringaspectFillscaleToFill | aspectFit | aspectFill | widthFix | heightFix | top | bottom | center | left | right | top left | top right | bottom left | bottom right
text文本模式下头像内部文本String''-
icon图标模式下头像内部图标名String''-
size头像尺寸(外框边长),支持 $ 前缀按间距乘数缩放String | Number40px-
textSize文本模式下内部文本大小,支持 $ 前缀按字体乘数缩放String | Number25px-
textColor文本模式下文本颜色,空值时亮色模式为 $infoDark、暗黑模式为 $darkString''-
iconSize图标模式下内部图标大小,支持 $ 前缀按字体乘数缩放String | Number25px-
iconColor图标模式下图标颜色,空值时同 textColor 规则String''-
bgColor头像背景颜色String$info-
shape头像形状,circle 时圆角强制为尺寸的一半Stringsquaresquare | circle
borderRadius头像圆角大小(仅 shape="square" 时生效),空值时为 4px × 圆角乘数String | Number''-
lazyLoad图片懒加载(只针对 page 与 scroll-view 下的 image 有效)Booleanfalsetrue | false
enablePreview图片模式下启用点击预览大图Booleanfalsetrue | false
customStyle自定义根节点样式UTSJSONObject | String''-
customClass自定义根节点样式类String''-
textStyle内部文本自定义样式UTSJSONObject | String''-
textClass内部文本外部样式类String''-
iconStyle内部图标自定义样式UTSJSONObject | String''-
iconClass内部图标外部样式类String''-

sn-avatar-group 属性

参数说明类型默认值可选值
data头像组数据,数组项字段见下方 SnAvatarGroupItemArray<SnAvatarGroupItem>[]-
size头像大小,支持 $ 前缀按间距乘数缩放String | Number40px-
spacing头像之间的间距(仅 mode="spread" 时生效),支持 $ 前缀按外间距乘数缩放String | Number5px-
max显示的最大头像数量,超过该数量的以 "+N" 形式显示,-1 表示不限制Number-1-
mode头像组布局模式,heap 为堆叠(重叠量为头像尺寸的 40%),spread 为分散Stringheapheap | spread
borderRadius头像圆角大小(仅 shape="square" 时生效),空值时为 4px × 圆角乘数String | Number''-
textSize头像中文本的大小String | Number20px-
iconSize头像中图标的大小String | Number20px-
textColor头像中文本的颜色,空值时亮色模式为 $infoDark、暗黑模式为 $darkString''-
iconColor头像中图标的颜色,空值时同 textColor 规则String''-
bgColor头像的背景颜色String$info-
randomBgColor是否随机生成头像背景颜色(从五种功能色 Light 系色板随机取色,文字颜色自动配套)Booleanfalsetrue | false
shape头像的形状Stringcirclecircle | square
customStyle自定义头像组根节点样式UTSJSONObject | String''-
avatarStyle自定义组内每个头像的样式UTSJSONObject | String''-
avatarClass自定义组内每个头像的样式类String''-

sn-avatar-groupdata 属性需要传入一个 SnAvatarGroupItem[] 类型的数组。此对象只能传入数据,样式请通过 sn-avatar-group 的属性统一设置。

名称类型必填描述
srcString头像图片地址
textString头像文本
iconString头像图标名
bgColorString该头像背景颜色,优先级高于 bgColor 属性
textColorString该头像文本颜色,优先级高于 textColor 属性
iconColorString该头像图标颜色,优先级高于 iconColor 属性

事件

sn-avatar 事件

名称类型说明
click(e: UniPointerEvent) => Void点击头像时触发
dbclick(e: UniPointerEvent) => Void快速双击头像时触发(300ms 内连续点击两次)
load(e: UniImageLoadEvent) => Void头像图片加载完成时触发
error(e: UniImageErrorEvent) => Void头像图片加载失败时触发
longpress(e: UniEvent) => Void长按头像时触发

sn-avatar-group 事件

名称类型说明
click(item: SnAvatarGroupItem) => Void点击组内头像时触发,携带该头像的数据项
dbclick(item: SnAvatarGroupItem) => Void快速双击组内头像时触发,携带该头像的数据项

插槽

名称说明
defaultimage 模式(或未传 src)下替换内部原有的图标和文字,可以是任意组件

使用 MIT 协议