Skip to content

Avatar

Used to represent users or objects, supporting images, text, or icons.

Basic Usage

Avatar supports three types: image, text, and icon.

typescript
const avatarURL = 'https://wot-ui.cn/assets/panda.jpg'
html
<wd-avatar :src="avatarURL" />
<wd-avatar text="U" />
<wd-avatar icon="user" />

Shape

Use the shape prop to set the avatar shape, supports round and square, default is round.

html
<wd-avatar :src="avatarURL" shape="square" />
<wd-avatar :src="avatarURL" shape="round" />

Size

Supports preset sizes: large, medium, normal, small, default is normal. Also supports passing a number or string with units (like 40px, 100rpx) for custom sizes.

html
<!-- Preset Sizes -->
<wd-avatar :src="avatarURL" size="large" />
<wd-avatar :src="avatarURL" size="medium" />
<wd-avatar :src="avatarURL" size="normal" />
<wd-avatar :src="avatarURL" size="small" />

<!-- Custom Sizes -->
<wd-avatar :src="avatarURL" :size="80" />
<wd-avatar :src="avatarURL" size="60px" />
<wd-avatar :src="avatarURL" size="100rpx" />

Custom Color

Use bg-color and color props to customize background and text colors.

html
<wd-avatar bg-color="#DC143C" color="#fff" text="W" />
<wd-avatar bg-color="#228B22" color="#fff" text="O" />
<wd-avatar bg-color="#1E90FF" color="#fff" text="T" />
<wd-avatar bg-color="#EEEEEE" color="#7B8198" icon="user" />

Avatar with Badge

Display badge with Badge component.

html
<wd-badge modelValue="10" type="primary">
  <wd-avatar :src="avatarURL" shape="square" />
</wd-badge>
<wd-badge modelValue="20" type="danger">
  <wd-avatar :src="avatarURL" shape="square" />
</wd-badge>
<wd-badge is-dot>
  <wd-avatar :src="avatarURL" shape="square" />
</wd-badge>
<wd-badge is-dot>
  <wd-avatar text="A" shape="square" bg-color="#1E90FF" />
</wd-badge>

Custom Content

Use the default slot to customize avatar content.

html
<wd-avatar>
  <view class="custom-content">VIP</view>
</wd-avatar>
<wd-avatar>
  <wd-icon name="star-on" size="24px" color="#f0883a" />
</wd-avatar>

Clickable

Implement click functionality by listening to the click event.

html
<wd-avatar :src="avatarURL" @click="handleClick" />
<wd-avatar text="Click" bg-color="#1E90FF" @click="handleClick" />
typescript
import { useToast } from '@/uni_modules/wot-design-uni'

const toast = useToast()

const handleClick = () => {
  toast.show('Avatar clicked')
}

Avatar Group

Use wd-avatar-group component to display a group of avatars.

Basic Usage

html
<wd-avatar-group>
  <wd-avatar :src="avatarURL" />
  <wd-avatar icon="star-on" />
  <wd-avatar text="A" bg-color="#1E90FF" />
  <wd-avatar text="B" bg-color="#228B22" />
</wd-avatar-group>

Max Count

Use max-count prop to limit the number of displayed avatars, excess avatars will be shown as +N.

html
<wd-avatar-group :max-count="3">
  <wd-avatar :src="avatarURL" />
  <wd-avatar icon="star-on" />
  <wd-avatar text="A" bg-color="#1E90FF" />
  <wd-avatar text="B" bg-color="#228B22" />
  <wd-avatar text="C" bg-color="#DC143C" />
</wd-avatar-group>

Cascading Direction

Use cascading prop to set the cascading direction, supports left-up (left avatars on top) and right-up (right avatars on top).

html
<wd-avatar-group cascading="left-up" :max-count="4">
  <wd-avatar :src="avatarURL" />
  <wd-avatar icon="star-on" />
  <wd-avatar text="A" bg-color="#1E90FF" />
  <wd-avatar text="B" bg-color="#228B22" />
  <wd-avatar text="C" bg-color="#DC143C" />
</wd-avatar-group>

<wd-avatar-group cascading="right-up" :max-count="4">
  <wd-avatar :src="avatarURL" />
  <wd-avatar icon="star-on" />
  <wd-avatar text="A" bg-color="#1E90FF" />
  <wd-avatar text="B" bg-color="#228B22" />
  <wd-avatar text="C" bg-color="#DC143C" />
</wd-avatar-group>

Unified Size and Shape

Use size and shape props to uniformly set the size and shape of all avatars in the group. Use max-count to limit the number of displayed avatars, and excess avatars will show a collapsed avatar. Customize the collapsed avatar text using collapse-avatar.

html
<!-- Unified Size -->
<wd-avatar-group size="large" :max-count="3">
  <wd-avatar :src="avatarURL" />
  <wd-avatar icon="star-on" />
  <wd-avatar text="A" bg-color="#1E90FF" />
  <wd-avatar text="B" bg-color="#228B22" />
</wd-avatar-group>

<!-- Unified Shape with Custom Collapse Text -->
<wd-avatar-group shape="square" :max-count="3" :collapse-avatar="'+N'">
  <wd-avatar :src="avatarURL" />
  <wd-avatar icon="star-on" />
  <wd-avatar text="A" bg-color="#1E90FF" />
  <wd-avatar text="B" bg-color="#228B22" />
</wd-avatar-group>

Avatar Attributes

NameDescriptionTypeAccepted ValuesDefaultVersion
srcImage URLstring--1.14.0
textText contentstring--1.14.0
iconIcon name, using wd-icon componentstring--1.14.0
sizeAvatar size, supports preset sizes or strings with unitsstring | numberlarge / medium / normal / smallnormal1.14.0
shapeAvatar shapestringround / squareround1.14.0
bg-colorBackground colorstring--1.14.0
colorText colorstring--1.14.0
altPlaceholder text when image fails to loadstring--1.14.0
modeImage fill mode, same as uni-app image component's modestring-aspectFill1.14.0

Avatar Events

Event NameDescriptionParametersVersion
clickTriggered when avatar is clicked-1.14.0
errorTriggered when image fails to loadevent1.14.0

Avatar Slots

NameDescriptionVersion
defaultCustom avatar content1.14.0

Avatar External Classes

Class NameDescriptionVersion
custom-classRoot node style1.14.0
custom-styleRoot node style1.14.0

AvatarGroup Attributes

NameDescriptionTypeAccepted ValuesDefaultVersion
max-countMaximum display countnumber--1.14.0
cascadingCascading directionstringleft-up / right-up-1.14.0
shapeUniform avatar shapestringround / squareround1.14.0
sizeUniform avatar sizestring | numberlarge / medium / normal / smallnormal1.14.0
collapse-avatarCollapsed avatar content when exceeds maximum countstring--1.14.0

AvatarGroup Slots

NameDescriptionVersion
defaultAvatar list, place wd-avatar components1.14.0

AvatarGroup External Classes

Class NameDescriptionVersion
custom-classRoot node style1.14.0
custom-styleRoot node style1.14.0

Source Code

Documentation
Component

Released under the MIT License.

Released under the MIT License.