Skip to content

Avatar 头像

像素风格头像组件,用于显示用户文字首字母缩写。

名称分类说明类型默认值
shape? 风格形状'circle' | 'square''circle'
border? 风格是否显示边框booleantrue
size? 尺寸尺寸'large' | 'default' | 'small''default'
color? 颜色自定义十六进制背景颜色string
default? 插槽头像内容(如文字首字母缩写)

基础用法

在头像中显示文字首字母缩写。

<template>
  <div class="demo-avatar">
    <px-avatar>AB</px-avatar>
    <px-avatar>JD</px-avatar>
    <px-avatar>Px</px-avatar>
  </div>
</template>

<style scoped>
.demo-avatar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
</style>

尺寸

使用 size 属性来设置头像大小。

<template>
  <div class="demo-avatar">
    <px-avatar size="large">LG</px-avatar>
    <px-avatar>DF</px-avatar>
    <px-avatar size="small">SM</px-avatar>
  </div>
</template>

<style scoped>
.demo-avatar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
</style>

形状

使用 shape 属性来切换圆形(默认)和方形。

<template>
  <div class="demo-avatar">
    <px-avatar>AB</px-avatar>
    <px-avatar shape="square">AB</px-avatar>
  </div>
</template>

<style scoped>
.demo-avatar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
</style>

边框

使用 :border="false" 来隐藏像素风格边框(默认显示)。

<template>
  <div class="demo-avatar">
    <px-avatar>AB</px-avatar>
    <px-avatar :border="false">AB</px-avatar>
    <px-avatar shape="square">AB</px-avatar>
    <px-avatar shape="square" :border="false">AB</px-avatar>
  </div>
</template>

<style scoped>
.demo-avatar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
</style>

状态指示器

使用 status 属性来显示状态指示器。设置为 'online' 显示在线(绿色),设置为 'offline' 显示离线(灰色),不设置则隐藏指示器。

<template>
  <div class="demo-avatar">
    <px-indicator type="success" :offset="[-4, 4]">
      <px-avatar>AB</px-avatar>
    </px-indicator>
    <px-indicator type="info" :offset="[-4, 4]">
      <px-avatar>JD</px-avatar>
    </px-indicator>
    <px-avatar>Px</px-avatar>
  </div>
</template>

<style scoped>
.demo-avatar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
</style>

自定义颜色

使用 color 属性来设置自定义十六进制背景颜色。

<template>
  <div class="demo-avatar">
    <px-avatar color="#8839ef">AB</px-avatar>
    <px-avatar color="#1e66f5">JD</px-avatar>
    <px-avatar color="#40a02b">Px</px-avatar>
    <px-avatar color="#fe640b" shape="square" border>SK</px-avatar>
  </div>
</template>

<style scoped>
.demo-avatar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
</style>