Skip to content

Avatar 头像

以图标、图片或字符的形式展示用户或实体的标识信息。

引入

html
<script type="module">
  import "./node_modules/easy-component-ui/dist/components/ea-avatar.js";
</script>
js
import "easy-component-ui/ea-avatar";

自定义样式

移步到 CSS PartCSS Custom Properties

基本用法

使用 shapecircle | square)和 size 控制头像的形状与大小。size 支持预设字符串或像素值。

查看代码
html
<div class="row">
  <ea-avatar size="50px"></ea-avatar>
  <ea-avatar size="large"></ea-avatar>
  <ea-avatar size="default"></ea-avatar>
  <ea-avatar size="small"></ea-avatar>
</div>

<div class="row">
  <ea-avatar shape="square" size="50px"></ea-avatar>
  <ea-avatar shape="square" size="large"></ea-avatar>
  <ea-avatar shape="square" size="default"></ea-avatar>
  <ea-avatar shape="square" size="small"></ea-avatar>
</div>

展示类型

支持三种展示类型:图标(icon)、图片(src)和字符(slot)。当 srcicon 同时设置时,src 优先。

user
html
<div class="demo">
  <ea-avatar icon="coffee"></ea-avatar>
  <ea-avatar
    src="https://tse2-mm.cn.bing.net/th/id/OIP-C.mH9YLFEL5YdVxJM82mjVJQAAAA?rs=1&pid=ImgDetMain"
  ></ea-avatar>
  <ea-avatar>user</ea-avatar>
</div>

图片加载失败的回退(fallback)

src 指定的图片加载失败时,组件会触发 error 事件并显示错误占位图。你可以监听该事件来替换图片、显示文本或其它占位内容。

清空 src 属性时,组件会自动回退到 icon(如果已设置)或默认 slot 内容。

error text
查看代码
html
<div class="demo">
  <ea-avatar id="error" size="60px" src="https://empty"></ea-avatar>
  <ea-avatar id="error-with-text" size="60px" src="https://empty"
    >error text</ea-avatar
  >
</div>
js
const avatar = document.querySelector("#error");
avatar.addEventListener("error", e => {
  console.log("avatar load error", e);
});

适应容器

使用 fit 属性控制图片的 object-fit 行为,支持:fill / contain / cover / none / scale-down

查看代码
html
<div class="row">
  <ea-avatar
    size="100px"
    fit="fill"
    shape="square"
    src="https://tse2-mm.cn.bing.net/th/id/OIP-C.mH9YLFEL5YdVxJM82mjVJQAAAA?rs=1&pid=ImgDetMain"
  ></ea-avatar>
  <ea-avatar
    size="100px"
    fit="contain"
    shape="square"
    src="https://tse2-mm.cn.bing.net/th/id/OIP-C.mH9YLFEL5YdVxJM82mjVJQAAAA?rs=1&pid=ImgDetMain"
  ></ea-avatar>
  <ea-avatar
    size="100px"
    fit="cover"
    shape="square"
    src="https://tse2-mm.cn.bing.net/th/id/OIP-C.mH9YLFEL5YdVxJM82mjVJQAAAA?rs=1&pid=ImgDetMain"
  ></ea-avatar>
  <ea-avatar
    size="100px"
    fit="none"
    shape="square"
    src="https://tse2-mm.cn.bing.net/th/id/OIP-C.mH9YLFEL5YdVxJM82mjVJQAAAA?rs=1&pid=ImgDetMain"
  ></ea-avatar>
  <ea-avatar
    size="100px"
    fit="scale-down"
    shape="square"
    src="https://tse2-mm.cn.bing.net/th/id/OIP-C.mH9YLFEL5YdVxJM82mjVJQAAAA?rs=1&pid=ImgDetMain"
  ></ea-avatar>
</div>

Avatar API

Avatar Attributes

参数说明类型可选值默认值
icon图标类名string
size尺寸stringlarge | default | small | 像素值default
shape形状stringcircle | squarecircle
src图片地址string
src-set图片地址集string
alt替代文本string
fit图片适应方式stringfill | contain | cover | none | scale-downcover

Avatar Events

事件名说明回调参数(event.detail)
error图片加载失败时触发

Avatar CSS Part

名称说明
container容器元素
img-avatar图片元素
icon-avatar图标元素

Avatar Slots

名称说明
default默认插槽

Avatar CSS Custom Properties

属性名说明
--ea-avatar-size头像尺寸
--ea-avatar-square-border-radius方形圆角
--ea-avatar-circle-border-radius圆形圆角
--ea-avatar-fit图片适应方式
--ea-avatar-color文字颜色
--ea-avatar-font-size字体大小
--ea-avatar-background-color背景颜色