amis/docs/zh-CN/components/avatar.md
吴多益 41ba93a486
feat: avatar 组件 (#1684)
* feat:avatar 组件初步

* 补充文档及样式

* 修复错误的文字

* 完善 schema 描述
2021-03-22 15:27:02 +08:00

173 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Avatar 头像
description:
type: 0
group: ⚙ 组件
menuName: Avatar 头像
icon:
order: 27
---
用来显示用户头像
## 基本使用
```schema: scope="body"
{
"type": "avatar",
"src": "../../../examples/static/ai-fake-face.jpg"
}
```
## 文字
```schema: scope="body"
{
"type": "avatar",
"text": "AM"
}
```
## 图标
通过 icon 设置图标
```schema: scope="body"
{
"type": "avatar",
"icon": "fa fa-user"
}
```
> 如果同时存在 src、text 和 icon会优先用 src、接着 text、最后 icon
## 动态图片或文字
src、text 都支持变量,可以从上下文中动态获取图片或文字,下面的例子中第一个获取到了,而第二个没获取到,因此降级为显示 icon
```schema
{
"data": {
"myAvatar": "../../../examples/static/ai-fake-face.jpg"
},
"type": "page",
"body": [
{
"type": "avatar",
"icon": "fa fa-user",
"src": "$myAvatar"
},
{
"type": "avatar",
"icon": "fa fa-user",
"src": "$other"
}
]
}
```
## 方形和圆角形
可以通过 shape 改成方形或圆角形
```schema: scope="body"
[
{
"type": "avatar",
"shape": "square",
"text": "AM"
},
{
"type": "avatar",
"shape": "rounded",
"text": "AM",
"style": {
"marginLeft": "10px"
}
}
]
```
## 大小
通过 size 可以控制头像的大小
```schema: scope="body"
[
{
"type": "avatar",
"size": 20,
"src": "../../../examples/static/ai-fake-face.jpg"
},
{
"type": "avatar",
"size": 60,
"src": "../../../examples/static/ai-fake-face.jpg"
}
]
```
## 图片拉伸方式
通过 `fit` 可以控制图片拉伸方式,默认是 `cover`,具体细节可以参考 MDN [文档](https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-fit)
```schema: scope="body"
[
{
"type": "avatar",
"fit": "cover",
"src": "../../../examples/static/plumeria.jpeg"
},
{
"type": "avatar",
"fit": "fill",
"src": "../../../examples/static/plumeria.jpeg"
},
{
"type": "avatar",
"fit": "contain",
"src": "../../../examples/static/plumeria.jpeg"
},
{
"type": "avatar",
"fit": "none",
"src": "../../../examples/static/plumeria.jpeg"
},
{
"type": "avatar",
"fit": "scale-down",
"src": "../../../examples/static/plumeria.jpeg"
}
]
```
## 样式
可以通过 style 来控制背景及文字颜色
```schema: scope="body"
{
"type": "avatar",
"text": "AM",
"style": {
"background": "#DB3E35",
"color": "#FFFFFF"
}
}
```
## 属性表
| 属性名 | 类型 | 默认值 | 说明 |
| --------- | -------- | ------ | --------------------- |
| className | `string` | | 外层 dom 的类名 |
| fit | `string` | cover | 图片缩放类型 |
| src | `string` | | 图片地址 |
| text | `string` | | 文字 |
| icon | `string` | | 图标 |
| shape | `string` | circle | 形状,也可以是 square |
| size | `number` | 40 | 大小 |
| style | `object` | | 外层 dom 的样式 |