Skip to content

Avatar アバター ​

ユーザーや物事のアバターを表示します。画像、アイコン、テキストの 3 つの形態をサポートします。

基本的な使い方 ​

vue
<template>
  <lh-avatar src="https://placeholder.invalid/avatar.png" />
  <lh-avatar icon="user" />
  <lh-avatar text="水墨" />
</template>

形状とサイズ ​

vue
<template>
  <lh-avatar text="水" shape="circle" />
  <lh-avatar text="墨" shape="square" />
  <lh-avatar text="小" size="small" />
  <lh-avatar text="大" size="large" />
</template>

クロップモード ​

fit は uni の <image> の mode にマッピングされます:fill → scaleToFill、contain → aspectFit、cover → aspectFill、none → center。

vue
<template>
  <lh-avatar src="https://placeholder.invalid/avatar.png" fit="cover" />
  <lh-avatar src="https://placeholder.invalid/avatar.png" fit="contain" />
</template>

scale-down は近似です

uni には scale-down と等価な mode がないため、セマンティクスが最も近い aspectFit を使います(比率を保って全体を表示し、拡大はしない)。

読み込み失敗時のフォールバック ​

画像の読み込みに失敗した場合は「アイコン → テキスト → 空」の順にフォールバックし、error イベントを発火します。

vue
<template>
  <lh-avatar
    src="https://placeholder.invalid/broken.png"
    icon="user"
    alt="アバター"
    @error="onError"
  />
</template>

<script setup lang="ts">
const onError = () => console.log('画像の読み込みに失敗しました')
</script>

Props ​

プロパティ説明型デフォルト値
src画像アドレス。空の場合は順にアイコン、テキストへフォールバックstring—
alt画像読み込み失敗時の代替テキスト。同時にアクセシビリティ名としても機能string—
iconアイコン名(src が空または読み込み失敗時に表示)LhIconName—
textテキストアバターの内容(src と icon の両方が未指定のときは先頭の 1 文字を表示)string—
shape形状'circle' | 'square''circle'
sizeサイズ'small' | 'medium' | 'large''medium'
fit画像クロップモード(uni image の mode にマッピング)'fill' | 'contain' | 'cover' | 'none' | 'scale-down''cover'
customClassカスタムクラス名string—
sxクイックレイアウトプロパティLhSxProps—

Events ​

イベント説明コールバックパラメータ
error画像の読み込みに失敗(e: Event)