본문으로 바로가기 본문 바로가기
WIKI 기술 지식 베이스

Avatar 아바타

원문 보기 위키 갱신

사용자 아바타를 표시하는 컴포넌트예요.

출처: 문서

본문

사용자 아바타를 표시하는 컴포넌트예요.

언제 사용하나요?

사용자 아바타를 표시해야 할 때 사용해요.

아바타 표시의 기본 규칙

아바타 컴포넌트에 'name' 속성을 넘기면 일정 규칙에 따라 아바타 글자를 표시해요. 구체적인 규칙은 API를 참고하세요.

:::demo

<template>
  <div class="avatar-demo-1">
    <d-avatar style="text-align: right" gender="Female" name="组件头像"></d-avatar>
    <d-avatar name="MyAvatar"></d-avatar>
    <d-avatar name="Avatar1 Avatar2"></d-avatar>
    <d-avatar name="1Avatar"></d-avatar>
  </div>
</template>
<style>
.avatar-demo-1 .devui-avatar {
  margin-right: 10px;
}
</style>

:::

아바타의 기본 설정

아바타 컴포넌트는 너비, 높이, 원형 여부를 설정할 수 있고, 표시 글자를 직접 정하거나 커스텀 이미지를 넘기는 것, 이미지 로딩 실패 시 내용 표시를 제어하는 것 등도 가능해요.

:::demo

<template>
  <div class="avatar-demo-2">
    <d-avatar name="Avatar" :width="28" :height="28"></d-avatar>
    <d-avatar customText="DevUI" :width="80" :height="80" :isRound="false"></d-avatar>
    <d-avatar imgSrc="/../../assets/logo.svg" :width="100" :height="100" :isRound="false"></d-avatar>
    <d-avatar :name="name" :imgSrc="src" :width="28" :height="28" @load-error="onLoadError"></d-avatar>
  </div>
</template>

<script>
import { defineComponent, ref } from 'vue';

export default defineComponent({
  setup() {
    const src = ref('123.com/assets/logo.svg');
    const name = ref('Avatar');

    const onLoadError = (e) => {
      console.log(e);
      src.value = '';
    }
    return {
      src,
      name,
      onLoadError
    };
  },
});
</script>

<style>
.avatar-demo-2 {
  display: flex;
  align-items: center;
}
.avatar-demo-2 .devui-avatar {
  margin-right: 10px;
}
</style>

:::

아바타의 특수 표시

아바타 컴포넌트는 몇 가지 특수 상황을 처리해요. 사용자가 존재하지 않거나 기본 아바타를 보여 주는 식이에요. 자세한 규칙은 API를 참고하세요.

:::demo

<template>
  <div class="avatar-demo-3">
    <d-avatar></d-avatar>
    <d-avatar name=""></d-avatar>
  </div>
</template>

<style>
.avatar-demo-3 .devui-avatar {
  margin-right: 10px;
}
</style>

:::

Avatar 파라미터

파라미터 타입 기본값 설명 Demo 링크
name string -- 필수, 아바타를 만드는 데 쓸 문자열을 넘겨요 아바타 표시의 기본 규칙
gender string | male | female -- 선택, 성별에 따라 아바타 색을 구분해요. string을 넘기면,
female | male의 어떤 대소문자 형태든 가능해요
아바타 표시의 기본 규칙
width number 40 선택, 아바타 너비 설정. 단위는 px 아바타의 기본 설정
height number 40 선택, 아바타 높이 설정. 단위는 px 아바타의 기본 설정
is-round boolean true 선택, 원형 아바타로 표시할지 여부 아바타의 기본 설정
img-src string -- 선택, 커스텀 이미지를 아바타로 넘겨요 아바타의 기본 설정
custom-text string -- 선택, 표시할 커스텀 문자를 넘겨요 아바타의 기본 설정

Avatar 이벤트

이벤트 설명 Demo 링크
load-error img 로딩이 실패한 뒤 발생하는 이벤트 아바타의 기본 설정

기타 설명

아바타 표시 기본 규칙

  • 중국어로 시작하는 경우: 넘긴 문자열의 마지막 두 글자를 가져와요

  • 영어로 시작하는 경우: 넘긴 문자열의 앞 두 글자를 가져와요

  • 여러 영어 이름이 이어진 경우: 넘긴 문자열의 앞 두 영어 이름의 첫 글자를 가져와요

  • 중국어·영어 외의 문자로 시작하는 경우: 넘긴 문자열의 앞 두 글자를 가져와요

아바타 특수 표시 규칙

  • name, customText, imgSrc를 넘기지 않으면, 이 아바타를 쓰는 사용자가 존재하지 않는 것으로 봐요

  • name, customText, imgSrc의 값이 빈 채로 넘어오면, 이 아바타를 쓰는 사용자가 별명이 없는 것으로 보고 기본 아바타를 사용해요

표시 우선순위

imgSrc > customText > name

더 알아보기 (Learn more)

d-avatar는 이미지 로딩 실패 시 글자 기반 아바타로 자연스럽게 대체되는 것이 강점이에요. imgSrc > customText > name 우선순위만 기억하면 어떤 상황에서 어떤 아바타가 그려질지 쉽게 예측할 수 있어요.