Skip to content

Avatar 头像

本组件一般用于展示头像的地方,如个人中心,或者评论列表页的用户头像展示等场所。

平台差异说明

App(vue)App(nvue)H5微信小程序

基本使用

通过src指定头像的路径即可简单使用,如果传递了text参数,text将会优先起作用

注意: 请保证传递给src的是绝对地址,而不是相对地址,为什么呢?因为传入avatar组件的相对地址,是相对于组件的,而不是父组件(页面),所以相对址可能会出错。

html
<template>
  <view>
    <su-avatar :src="src"></su-avatar>
    <su-avatar :text="text"></su-avatar>
  </view>
</template>

<script lang="ts" setup>
  const src = ref('http://pic2.sc.chinaz.com/Files/pic/pic9/202002/hpic2119_s.jpg')
  const text = ref('无头像')
</script>

头像形状

  • shape参数指定头像的类型,取值circle为圆形,取值square为圆角方形
html
<template>
  <su-avatar :src="src" shape="square"></su-avatar>
</template>

<script setup>
  const src = 'http://pic2.sc.chinaz.com/Files/pic/pic9/202002/hpic2119_s.jpg'
</script>

头像尺寸

  • size参数可以为指定字符串,或者数值 (默认 40 )
html
<template>
  <su-avatar :src="src" size="30"></su-avatar>
  <su-avatar :src="src" size="40"></su-avatar>
  <su-avatar :src="src" size="50"></su-avatar>
</template>

<script setup>
  const src = 'http://pic2.sc.chinaz.com/Files/pic/pic9/202002/hpic2119_s.jpg'
</script>

图标头像

  • icon参数显示的图标
html
<template>
  <su-avatar icon="red-packet-fill" fontSize="22"></su-avatar>
</template>

文字头像(自动背景色)

  • randomBgColor是否使用随机背景色
  • colorIndex如果配置了randomBgColor为true,且配置了此值,则从默认的背景色数组中取出对应索引的颜色值,取值0
html
<template>
  <su-avatar text="U" fontSize="20" randomBgColor :colorIndex="0"></su-avatar>
</template>

默认头像

如果头像加载失败,导致加载图片失败,将会显示一个默认的灰色头像

小程序开放能力

  • mpAvatar显示小程序头像,只对百度,微信,QQ小程序有效 (默认 false )
html
<template>
  <su-avatar mpAvatar size="60"></su-avatar>
</template>

头像组su-avatar-group

  • urls头像图片组
  • keyName指定从数组的对象元素中读取哪个属性作为图片地址
  • gap头像之间的遮挡比例
html
<template>
  <su-avatar-group :urls="urls" size="35" gap="0.4"></su-avatar-group>
  <su-avatar-group :urls="urls1" size="35" gap="0.4" keyName="url"></su-avatar-group>
</template>

<script setup>
  const urls = [
    'http://pic2.sc.chinaz.com/Files/pic/pic9/202002/hpic2119_s.jpg',
  ]
  const urls1 = [
    {
      url: 'http://pic2.sc.chinaz.com/Files/pic/pic9/202002/hpic2119_s.jpg'
    }
  ]
  const
</script>

示例源码

点击可以查看 右侧演示页面的源码

API

Props

参数说明类型默认值可选值
bg-color背景颜色,一般显示文字时用String#ffffff-
src头像路径,如加载失败,将会显示默认头像String--
size头像尺寸,可以为指定字符串,或者数值,单位rpxString | Numberdefault-
mode显示类型,见上方说明Stringcirclesquare
text用文字替代图片,级别优先于srcString--
mode头像图片的裁剪类型,与uni的image组件的mode参数一致,如效果达不到需求,可尝试传widthFixStringaspectFill-
shape头像形状circle| squarecirclesquare
fontSize文字大小String | Number18-
icon显示的图标String--
mpAvatar显示小程序头像,只对百度,微信,QQ小程序有效 (默认 false )Booleanfalse-
randomBgColor是否使用随机背景色 (默认 false )Booleanfalse-
defaultUrl加载失败的默认头像(组件有内置默认图片)String--
colorIndex如果配置了randomBgColor为true,且配置了此值,则从默认的背景色数组中取出对应索引的颜色值,取值0-19之间String | Number0-
name组件标识符String--
customStyle自定义样式CSSProperties--

Event

事件名说明回调参数
click头像被点击name: 用户传递的标识符

AvatarGroup 头像组

Props

参数说明类型默认值可选值
urls头像图片组Array[]-
maxCount最多展示的头像数量String | Number5-
shape头像形状circle | squarecirclesquare
mode图片裁剪模式StringscaleToFill-
showMore超出maxCount时是否显示查看更多的提示Booleantruefalse
size头像大小Number40-
keyName指定从数组的对象元素中读取哪个属性作为图片地址String--
extraValue需额外显示的值String | Number--

Event

事件名说明回调参数
showMore头像组更多点击-

Released under the MIT License.

Released under the MIT License.