Nuxt UI v3-alpha 已发布!

试用它
组件

头像

显示代表资源或一组资源的图像。

用法

Avatar
<template>
  <UAvatar
    src="https://avatars.githubusercontent.com/u/739984?v=4"
    alt="Avatar"
  />
</template>

尺寸

使用 size 属性更改头像的尺寸。

Avatar
<template>
  <UAvatar
    size="sm"
    src="https://avatars.githubusercontent.com/u/739984?v=4"
    alt="Avatar"
  />
</template>

芯片

使用 chip-colorchip-textchip-position 属性在头像上显示芯片。

Avatar
<template>
  <UAvatar
    chip-color="primary"
    chip-text=""
    chip-position="top-right"
    size="sm"
    src="https://avatars.githubusercontent.com/u/739984?v=4"
    alt="Avatar"
  />
</template>

占位符

如果头像 src 加载失败或 src 为 null/false,将显示一个背景占位符,可以在 ui.avatar.background 中自定义。

图标

通过使用这种模式设置 icon 属性,可以使用来自 Iconify 的任何图标:i-{collection_name}-{icon_name},或在 ui.avatar.default.icon 中全局更改它,以在背景顶部显示图标。

<template>
  <UAvatar icon="i-heroicons-photo" size="sm" />
</template>

Alt

否则,将显示一个包含 alt 属性首字母的占位符,可以在 ui.avatar.placeholder 中自定义。

BC
<template>
  <UAvatar alt="Benjamin Canac" size="sm" />
</template>

群组

要将头像叠加为群组,请使用 AvatarGroup 组件。

  • 要限制显示的头像数量,请使用 max 属性。它将截断头像并显示一个 "+X" 标签(其中 X 是剩余的头像)
  • 要将所有头像等比例缩放,请传递 size 属性
  • 要调整头像之间的间距或环形,请使用 ui.avatarGroup.marginui.avatarGroup.ring 自定义
+1AvatarAvatar
<template>
  <UAvatarGroup size="sm" :max="2">
    <UAvatar
      src="https://avatars.githubusercontent.com/u/739984?v=4"
      alt="benjamincanac"
    />
    <UAvatar
      src="https://avatars.githubusercontent.com/u/904724?v=4"
      alt="Atinux"
    />
    <UAvatar
      src="https://avatars.githubusercontent.com/u/7547335?v=4"
      alt="smarroufin"
    />
  </UAvatarGroup>
</template>

属性

ui
{ wrapper?: string; background?: string; rounded?: string; text?: string; placeholder?: string; size?: DeepPartial<{ '3xs': string; '2xs': string; xs: string; sm: string; md: string; lg: string; xl: string; '2xl': string; '3xl': string; }, any>; chip?: DeepPartial<...>; icon?: DeepPartial<...>; default?: DeepPartial...
{}
尺寸
AvatarSize
config.default.size
"sm""3xs""2xs""xs""md""lg""xl""2xl""3xl"
text
string
null
icon
string
config.default.icon
as
string | Record<string, any>
"img"
src
string | boolean
null
alt
string
null
chipColor
string
config.default.chipColor
chipPosition
"top-right" | "bottom-right" | "top-left" | "bottom-left"
config.default.chipPosition
chipText
string | number
null
imgClass
string
""
ui
{ wrapper?: string; ring?: string; margin?: string; } & { [key: string]: any; } & { strategy?: Strategy; }
{}
尺寸
AvatarSize
null
"sm""3xs""2xs""xs""md""lg""xl""2xl""3xl"
max
number
null

配置

{
  wrapper: 'relative inline-flex items-center justify-center flex-shrink-0',
  background: 'bg-gray-100 dark:bg-gray-800',
  rounded: 'rounded-full',
  text: 'font-medium leading-none text-gray-900 dark:text-white truncate',
  placeholder: 'font-medium leading-none text-gray-500 dark:text-gray-400 truncate',
  size: {
    '3xs': 'h-4 w-4 text-[8px]',
    '2xs': 'h-5 w-5 text-[10px]',
    xs: 'h-6 w-6 text-xs',
    sm: 'h-8 w-8 text-sm',
    md: 'h-10 w-10 text-base',
    lg: 'h-12 w-12 text-lg',
    xl: 'h-14 w-14 text-xl',
    '2xl': 'h-16 w-16 text-2xl',
    '3xl': 'h-20 w-20 text-3xl'
  },
  chip: {
    base: 'absolute rounded-full ring-1 ring-white dark:ring-gray-900 flex items-center justify-center text-white dark:text-gray-900 font-medium',
    background: 'bg-{color}-500 dark:bg-{color}-400',
    position: {
      'top-right': 'top-0 right-0',
      'bottom-right': 'bottom-0 right-0',
      'top-left': 'top-0 left-0',
      'bottom-left': 'bottom-0 left-0'
    },
    size: {
      '3xs': 'h-[4px] min-w-[4px] text-[4px] p-px',
      '2xs': 'h-[5px] min-w-[5px] text-[5px] p-px',
      xs: 'h-1.5 min-w-[0.375rem] text-[6px] p-px',
      sm: 'h-2 min-w-[0.5rem] text-[7px] p-0.5',
      md: 'h-2.5 min-w-[0.625rem] text-[8px] p-0.5',
      lg: 'h-3 min-w-[0.75rem] text-[10px] p-0.5',
      xl: 'h-3.5 min-w-[0.875rem] text-[11px] p-1',
      '2xl': 'h-4 min-w-[1rem] text-[12px] p-1',
      '3xl': 'h-5 min-w-[1.25rem] text-[14px] p-1'
    }
  },
  icon: {
    base: 'text-gray-500 dark:text-gray-400 flex-shrink-0',
    size: {
      '3xs': 'h-2 w-2',
      '2xs': 'h-2.5 w-2.5',
      xs: 'h-3 w-3',
      sm: 'h-4 w-4',
      md: 'h-5 w-5',
      lg: 'h-6 w-6',
      xl: 'h-7 w-7',
      '2xl': 'h-8 w-8',
      '3xl': 'h-10 w-10'
    }
  },
  default: {
    size: 'sm',
    icon: null,
    chipColor: null,
    chipPosition: 'top-right'
  }
}
{
  wrapper: 'inline-flex flex-row-reverse justify-end',
  ring: 'ring-2 ring-white dark:ring-gray-900',
  margin: '-me-1.5 first:me-0'
}