TnAvatar-头像
本组件用于展示头像和头像组的地方,如个人中心,访问用户列表等。
组件位置
typescript
import TnAvatar from '@tuniao/tnui-vue3-uniapp/components/avatar/src/avatar.vue'
import TnAvatarGroup from '@tuniao/tnui-vue3-uniapp/components/avatar/src/avatar-group.vue'
import TnAvatar from '@tuniao/tnui-vue3-uniapp/components/avatar/src/avatar.vue'
import TnAvatarGroup from '@tuniao/tnui-vue3-uniapp/components/avatar/src/avatar-group.vue'
typescript
import TnAvatar from '@/uni_modules/tuniaoui-vue3/components/avatar/src/avatar.vue'
import TnAvatarGroup from '@/uni_modules/tuniaoui-vue3/components/avatar/src/avatar-group.vue'
import TnAvatar from '@/uni_modules/tuniaoui-vue3/components/avatar/src/avatar.vue'
import TnAvatarGroup from '@/uni_modules/tuniaoui-vue3/components/avatar/src/avatar-group.vue'
平台差异说明
App(vue) | H5 | 微信小程序 | 支付宝小程序 | ... |
---|---|---|---|---|
√ | √ | √ | √ | 适配中 |
基础使用
如果是使用url
设置头像地址需要使用绝对地址
和网络图片
vue
<TnAvatar url="https://tnuiimage.tnkjapp.com/logo/tuniao.png" />
<TnAvatar url="https://tnuiimage.tnkjapp.com/logo/tuniao.png" />
设置头像样式
type
值可选的有primary
、success
、warning
、danger
、info
,默认为空,即默认头像- 通过
size
参数来修改头像的大小,可选值为sm
、lg
、xl
,也可以传递指定的大小尺寸,默认单位为 rpx,接受传入带单位的参数 - 通过
shape
设置头像的形状 - 通过
bg-color
设置头像背景颜色 - 通过
border
设置是否显示头像边框 - 通过
border-color
设置头像边框颜色,需要将border
设置为true
- 通过
shadow
设置头像是否显示阴影 - 通过
shadow-color
设置头像阴影颜色,需要将shadow
设置为true
vue
<TnAvatar icon="logo-tuniao" type="primary" />
<TnAvatar icon="logo-tuniao" type="success" />
<TnAvatar icon="logo-tuniao" type="warning" />
<TnAvatar icon="logo-tuniao" type="danger" />
<TnAvatar icon="logo-tuniao" type="info" />
<TnAvatar icon="logo-tuniao" type="primary" />
<TnAvatar icon="logo-tuniao" type="success" />
<TnAvatar icon="logo-tuniao" type="warning" />
<TnAvatar icon="logo-tuniao" type="danger" />
<TnAvatar icon="logo-tuniao" type="info" />
vue
<TnAvatar icon="logo-tuniao" bg-color="tn-blue-light" />
<TnAvatar icon="logo-tuniao" bg-color="#01beff" />
<TnAvatar icon="logo-tuniao" bg-color="rgb(1, 190, 255)" />
<TnAvatar icon="logo-tuniao" bg-color="gradient__cool-1" />
<TnAvatar icon="logo-tuniao" bg-color="tn-blue-light" />
<TnAvatar icon="logo-tuniao" bg-color="#01beff" />
<TnAvatar icon="logo-tuniao" bg-color="rgb(1, 190, 255)" />
<TnAvatar icon="logo-tuniao" bg-color="gradient__cool-1" />
vue
<TnAvatar url="https://tnuiimage.tnkjapp.com/logo/tuniao.png" shape="square" />
<TnAvatar url="https://tnuiimage.tnkjapp.com/logo/tuniao.png" shape="square" />
vue
<TnAvatar url="https://tnuiimage.tnkjapp.com/logo/tuniao.png" size="sm" />
<TnAvatar url="https://tnuiimage.tnkjapp.com/logo/tuniao.png" size="lg" />
<TnAvatar url="https://tnuiimage.tnkjapp.com/logo/tuniao.png" size="xl" />
<TnAvatar url="https://tnuiimage.tnkjapp.com/logo/tuniao.png" size="sm" />
<TnAvatar url="https://tnuiimage.tnkjapp.com/logo/tuniao.png" size="lg" />
<TnAvatar url="https://tnuiimage.tnkjapp.com/logo/tuniao.png" size="xl" />
vue
<TnAvatar
url="https://tnuiimage.tnkjapp.com/logo/tuniao.png"
border
border-color="tn-blue"
/>
<TnAvatar
url="https://tnuiimage.tnkjapp.com/logo/tuniao.png"
border
border-color="#01beff"
/>
<TnAvatar
url="https://tnuiimage.tnkjapp.com/logo/tuniao.png"
border
border-color="rgb(1, 190, 255)"
/>
<TnAvatar
url="https://tnuiimage.tnkjapp.com/logo/tuniao.png"
border
border-color="tn-blue"
/>
<TnAvatar
url="https://tnuiimage.tnkjapp.com/logo/tuniao.png"
border
border-color="#01beff"
/>
<TnAvatar
url="https://tnuiimage.tnkjapp.com/logo/tuniao.png"
border
border-color="rgb(1, 190, 255)"
/>
图标头像
使用icon
则设置图标头像,图标名称参考图标
- 通过
icon-config
参数去设置图标的配置,如size
、color
等
vue
<script lang="ts" setup>
import type { AvatarIconProps } from '@tuniao/tnui-vue3-uniapp'
const iconConfig: AvatarIconProps = {
size: 'xl',
color: 'tn-blue-light',
}
</script>
<template>
<TnAvatar icon="logo-tuniao" :icon-config="iconConfig" />
</template>
<style lang="scss" scoped></style>
<script lang="ts" setup>
import type { AvatarIconProps } from '@tuniao/tnui-vue3-uniapp'
const iconConfig: AvatarIconProps = {
size: 'xl',
color: 'tn-blue-light',
}
</script>
<template>
<TnAvatar icon="logo-tuniao" :icon-config="iconConfig" />
</template>
<style lang="scss" scoped></style>
vue
<script lang="ts" setup>
import type { AvatarIconProps } from '@/uni_modules/tuniaoui-vue3'
const iconConfig: AvatarIconProps = {
size: 'xl',
color: 'tn-blue-light',
}
</script>
<template>
<tn-avatar icon="logo-tuniao" :icon-config="iconConfig" />
</template>
<style lang="scss" scoped></style>
<script lang="ts" setup>
import type { AvatarIconProps } from '@/uni_modules/tuniaoui-vue3'
const iconConfig: AvatarIconProps = {
size: 'xl',
color: 'tn-blue-light',
}
</script>
<template>
<tn-avatar icon="logo-tuniao" :icon-config="iconConfig" />
</template>
<style lang="scss" scoped></style>
自定义内容
TnAvatar
组件支持通过slot
来设置组件的内容
vue
<TnAvatar>图</TnAvatar>
<TnAvatar>图</TnAvatar>
头像角标
通过badge
参数来设置头像是否显示角标,如果badge
不为空则为显示角标
vue
<TnAvatar icon="logo-tuniao" type="primary" badge="99" />
<TnAvatar icon="logo-tuniao" type="primary" badge="99" />
通过badge-config
参数来设置头像角标的参数
vue
<script lang="ts" setup>
import type { AvatarBadgeProps } from '@tuniao/tnui-vue3-uniapp'
const badgeConfig: AvatarBadgeProps = {
type: 'danger',
}
</script>
<template>
<TnAvatar badge="icon-logo-tuniao" :badge-config="badgeConfig" />
</template>
<style lang="scss" scoped></style>
<script lang="ts" setup>
import type { AvatarBadgeProps } from '@tuniao/tnui-vue3-uniapp'
const badgeConfig: AvatarBadgeProps = {
type: 'danger',
}
</script>
<template>
<TnAvatar badge="icon-logo-tuniao" :badge-config="badgeConfig" />
</template>
<style lang="scss" scoped></style>
vue
<script lang="ts" setup>
import type { AvatarBadgeProps } from '@/uni_modules/tuniaoui-vue3'
const badgeConfig: AvatarBadgeProps = {
type: 'danger',
}
</script>
<template>
<tn-avatar badge="icon-logo-tuniao" :badge-config="badgeConfig" />
</template>
<style lang="scss" scoped></style>
<script lang="ts" setup>
import type { AvatarBadgeProps } from '@/uni_modules/tuniaoui-vue3'
const badgeConfig: AvatarBadgeProps = {
type: 'danger',
}
</script>
<template>
<tn-avatar badge="icon-logo-tuniao" :badge-config="badgeConfig" />
</template>
<style lang="scss" scoped></style>
头像组
使用TnAvatarGroup
组件可以将多个头像组合在一起,然后在里面添加TnAvatar
组件
设置TnAvatarGroup
组件可以统一配置头像的样式,如size
、shape
、border
等,单独设置TnAvatar
组件的样式会覆盖TnAvatarGroup
组件的样式
vue
<TnAvatarGroup border>
<TnAvatar url="https://tnuiimage.tnkjapp.com/logo/tuniao.png" />
<TnAvatar url="https://tnuiimage.tnkjapp.com/logo/tuniao.png" />
<TnAvatar url="https://tnuiimage.tnkjapp.com/logo/tuniao.png" :border="false" />
<TnAvatar url="https://tnuiimage.tnkjapp.com/logo/tuniao.png" />
</TnAvatarGroup>
<TnAvatarGroup border>
<TnAvatar url="https://tnuiimage.tnkjapp.com/logo/tuniao.png" />
<TnAvatar url="https://tnuiimage.tnkjapp.com/logo/tuniao.png" />
<TnAvatar url="https://tnuiimage.tnkjapp.com/logo/tuniao.png" :border="false" />
<TnAvatar url="https://tnuiimage.tnkjapp.com/logo/tuniao.png" />
</TnAvatarGroup>
API
TnAvatar Props
属性名 | 说明 | 类型 | 默认值 | 可选值 |
---|---|---|---|---|
url | 头像地址,只支持绝对路径 和在线链接 | String | - | - |
icon | 头像图标 | String | - | 图标有效值 |
icon-config | 头像图标配置 | AvatarIconProps | {} | - |
size | 头像尺寸,可以使用可选值和指定的尺寸大小 | String | - | sm / lg / xl |
shape | 头像形状 | String | circle | circle / square |
type | 头像颜色类型,设置头像颜色为主题色 | String | - | primary / success / warning / danger / info |
img-mode | 图片显示模式 | String | aspectFit | scaleToFill / aspectFit / aspectFill / widthFix / heightFix / top / bottom / center / left / right / top left / top right / bottom left / bottom right |
bg-color | 头像背景颜色,可以使用图鸟内置的背景色、hex、rgb、rgba | String | - | - |
border | 是否显示边框 | Boolean | false | true |
border-bold | 是否加粗边框,在bo rder 为true 时有效 | Boolean | false | true |
border-color | 边框颜色,在border 为true 时有效,支持图鸟内置的边框颜色、hex、rgb、rgba | String | - | - |
shadow | 是否显示阴影 | Boolean | false | true |
shadow-color | 阴影颜色,在shadow 为true 时有效,支持图鸟内置的阴影颜色 | String | - | - |
badge | 角标内容,如果为空则不显示角标 | String | Number | - | - |
badge-config | 角标的配置 | AvatarBadgeProps | {} | - |
Avatar Events
事件名 | 说明 | 回调参数 |
---|---|---|
click | 头像点击事件 | - |
Avatar Slots
插槽名 | 说明 |
---|---|
default | 头像内自定义内容,没有设置url 和icon 时生效 |
AvatarGroup Props
属性名 | 说明 | 类型 | 默认值 | 可选值 |
---|---|---|---|---|
icon-config | 头像图标配置 | AvatarIconProps | {} | - |
size | 头像尺寸,可以使用可选值和指定的尺寸大小 | String | - | sm / lg / xl |
shape | 头像形状 | String | circle | circle / square |
type | 头像颜色类型,设置按钮颜色为主题色 | String | - | primary / success / warning / danger / info |
img-mode | 图片显示模式 | String | aspectFit | scaleToFill / aspectFit / aspectFill / widthFix / heightFix / top / bottom / center / left / right / top left / top right / bottom left / bottom right |
bg-color | 头像背景颜色,可以使用图鸟内置的背景色、hex、rgb、rgba | String | - | - |
border | 是否显示边框 | Boolean | true | false |
border-bold | 是否加粗边框,在bo rder 为true 时有效 | Boolean | false | true |
border-color | 边框颜色,在border 为true 时有效,支持图鸟内置的边框颜色、hex、rgb、rgba | String | tn-white | - |
shadow | 是否显示阴影 | Boolean | false | true |
shadow-color | 阴影颜色,在shadow 为true 时有效,支持图鸟内置的阴影颜色 | String | - | - |
gap | 头像之间遮挡比例 | String | Number | 0.4 | - |
AvatarGroup Events
事件名 | 说明 | 类型 |
---|---|---|
click | 头像组点击事件 | (index: number) => void |
AvatarGroup Slots
插槽名 | 说明 | 子标签 |
---|---|---|
default | 头像组内容 | Avatar |
AvatarIconProps
具体参数说明可以查看TnIcon
参数 | 说明 | 必填 |
---|---|---|
color | 图标样式 | - |
size | 图标尺寸 | - |
bold | 图标加粗 | - |
AvatarBadgeProps
具体参数说明可以查看TnBadge
参数 | 说明 | 必填 |
---|---|---|
max | 徽标内容最大值 | - |
type | 徽标类型 | - |
bg-color | 徽标背景颜色 | - |
text-color | 徽标文字颜色 | - |
size | 徽标大小 | - |
font-size | 字体大小 | - |
bold | 徽标加粗 | - |
dot | 是否显示点徽标 | - |
absolute | 是否绝对定位徽标 | - |
absolute-position | 绝对定位的位置 | - |
absolute-center | 绝对居中对齐 | - |