• Avatar 头像
    • 基本用法
    • 展示类型
    • 图片加载失败的 fallback 行为
    • 图片如何适应容器框
    • Attributes
    • Events
    • Slot

    Avatar 头像

    用图标、图片或者字符的形式展示用户或事物信息。

    基本用法

    通过 shapesize 设置头像的形状和大小。

    Avatar 头像 - 图1

    1. <template>
    2. <el-row class="demo-avatar demo-basic">
    3. <el-col :span="12">
    4. <div class="sub-title">circle</div>
    5. <div class="demo-basic--circle">
    6. <div class="block"><el-avatar :size="50" :src="circleUrl"></el-avatar></div>
    7. <div class="block" v-for="size in sizeList" :key="size">
    8. <el-avatar :size="size" :src="circleUrl"></el-avatar>
    9. </div>
    10. </div>
    11. </el-col>
    12. <el-col :span="12">
    13. <div class="sub-title">square</div>
    14. <div class="demo-basic--circle">
    15. <div class="block"><el-avatar shape="square" :size="50" :src="squareUrl"></el-avatar></div>
    16. <div class="block" v-for="size in sizeList" :key="size">
    17. <el-avatar shape="square" :size="size" :src="squareUrl"></el-avatar>
    18. </div>
    19. </div>
    20. </el-col>
    21. </el-row>
    22. </template>
    23. <script>
    24. export default {
    25. data () {
    26. return {
    27. circleUrl: "https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png",
    28. squareUrl: "https://cube.elemecdn.com/9/c2/f0ee8a3c7c9638a54940382568c9dpng.png",
    29. sizeList: ["large", "medium", "small"]
    30. }
    31. }
    32. }
    33. </script>

    展示类型

    支持三种类型:图标、图片和字符

    Avatar 头像 - 图2

    1. <template>
    2. <div class="demo-type">
    3. <div>
    4. <el-avatar icon="el-icon-user-solid"></el-avatar>
    5. </div>
    6. <div>
    7. <el-avatar src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"></el-avatar>
    8. </div>
    9. <div>
    10. <el-avatar> user </el-avatar>
    11. </div>
    12. </div>
    13. </template>

    图片加载失败的 fallback 行为

    当展示类型为图片的时候,图片加载失败的 fallback 行为

    Avatar 头像 - 图3

    1. <template>
    2. <div class="demo-type">
    3. <el-avatar :size="60" src="https://empty" @error="errorHandler">
    4. <img src="https://cube.elemecdn.com/e/fd/0fc7d20532fdaf769a25683617711png.png"/>
    5. </el-avatar>
    6. </div>
    7. </template>
    8. <script>
    9. export default {
    10. methods: {
    11. errorHandler() {
    12. return true
    13. }
    14. }
    15. }
    16. </script>

    图片如何适应容器框

    当展示类型为图片的时候,使用 fit 属性定义图片如何适应容器框,同原生 object-fit。

    Avatar 头像 - 图4

    1. <template>
    2. <div class="demo-fit">
    3. <div class="block" v-for="fit in fits" :key="fit">
    4. <span class="title">{{ fit }}</span>
    5. <el-avatar shape="square" :size="100" :fit="fit" :src="url"></el-avatar>
    6. </div>
    7. </div>
    8. </template>
    9. <script>
    10. export default {
    11. data() {
    12. return {
    13. fits: ['fill', 'contain', 'cover', 'none', 'scale-down'],
    14. url: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg'
    15. }
    16. }
    17. }
    18. </script>

    Attributes

    参数说明类型可选值默认值
    icon设置头像的图标类型,参考 Icon 组件string
    size设置头像的大小number/stringnumber / large / medium / smalllarge
    shape设置头像的形状stringcircle / squarecircle
    src图片头像的资源地址string
    srcSet以逗号分隔的一个或多个字符串列表表明一系列用户代理使用的可能的图像string
    alt描述图像的替换文本string
    fit当展示类型为图片的时候,设置图片如何适应容器框stringfill / contain / cover / none / scale-downcover

    Events

    事件名说明回调参数
    error图片类头像加载失败的回调, 返回 false 会关闭组件默认的 fallback 行为(e: Event)

    Slot

    名称说明
    default自定义头像展示内容