2020-08-13 15:18:26 +08:00
## Avatar avatar
Avatars can be used to represent people or objects. It supports images, Icons, or characters.
Les avatars peuvent être utilisés pour représenter des personnes ou des objets. Les images, icônes et les caractères sont supportés.
### Basic
utilisez les prop `shape` et` size` pour définir la forme et la taille de l'avatar
:::demo
2021-09-04 19:29:28 +08:00
2020-08-13 15:18:26 +08:00
```html
< template >
< el-row class = "demo-avatar demo-basic" >
< el-col :span = "12" >
< div class = "sub-title" > cercle< / div >
< div class = "demo-basic--circle" >
2021-09-04 19:29:28 +08:00
< div class = "block" >
< el-avatar :size = "50" :src = "circleUrl" > < / el-avatar >
< / div >
2020-08-13 15:18:26 +08:00
< div class = "block" v-for = "size in sizeList" :key = "size" >
< el-avatar :size = "size" :src = "circleUrl" > < / el-avatar >
< / div >
< / div >
2021-09-04 19:29:28 +08:00
< / el-col >
2020-08-13 15:18:26 +08:00
< el-col :span = "12" >
< div class = "sub-title" > carré< / div >
< div class = "demo-basic--circle" >
2021-09-04 19:29:28 +08:00
< div class = "block" >
< el-avatar shape = "square" :size = "50" :src = "squareUrl" > < / el-avatar >
< / div >
2020-08-13 15:18:26 +08:00
< div class = "block" v-for = "size in sizeList" :key = "size" >
< el-avatar shape = "square" :size = "size" :src = "squareUrl" > < / el-avatar >
< / div >
< / div >
< / el-col >
< / el-row >
< / template >
< script >
export default {
2021-09-04 19:29:28 +08:00
data() {
2020-08-13 15:18:26 +08:00
return {
2021-09-04 19:29:28 +08:00
circleUrl:
'https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png',
squareUrl:
'https://cube.elemecdn.com/9/c2/f0ee8a3c7c9638a54940382568c9dpng.png',
sizeList: ['large', 'medium', 'small'],
2020-08-13 15:18:26 +08:00
}
2021-09-04 19:29:28 +08:00
},
2020-08-13 15:18:26 +08:00
}
< / script >
2021-06-08 13:31:50 +08:00
<!--
< setup >
import { defineComponent, reactive, toRefs } from 'vue';
export default defineComponent({
setup() {
const state = reactive({
circleUrl: 'https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png',
squareUrl: 'https://cube.elemecdn.com/9/c2/f0ee8a3c7c9638a54940382568c9dpng.png',
sizeList: ['large', 'medium', 'small'],
});
return {
...toRefs(state),
};
},
});
< / setup >
-->
2020-08-13 15:18:26 +08:00
```
2021-09-04 19:29:28 +08:00
2020-08-13 15:18:26 +08:00
:::
### Types
Les images, icônes et les caractères sont supportés.
:::demo
2021-09-04 19:29:28 +08:00
2020-08-13 15:18:26 +08:00
```html
< template >
< div class = "demo-type" >
< div >
< el-avatar icon = "el-icon-user-solid" > < / el-avatar >
< / div >
< div >
2021-09-04 19:29:28 +08:00
< el-avatar
src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"
>< / el-avatar >
2020-08-13 15:18:26 +08:00
< / div >
< div >
< el-avatar > user < / el-avatar >
< / div >
< / div >
< / template >
```
2021-09-04 19:29:28 +08:00
2020-08-13 15:18:26 +08:00
:::
### fallback en cas d'erreur de chargement d'image
fallback en cas d'erreur de chargement d'image
:::demo
2021-09-04 19:29:28 +08:00
2020-08-13 15:18:26 +08:00
```html
< template >
< div class = "demo-type" >
< el-avatar :size = "60" src = "https://empty" @error =" errorHandler " >
2021-09-04 19:29:28 +08:00
< img
src="https://cube.elemecdn.com/e/fd/0fc7d20532fdaf769a25683617711png.png"
/>
< / el-avatar >
2020-08-13 15:18:26 +08:00
< / div >
< / template >
< script >
export default {
methods: {
errorHandler() {
return true
2021-09-04 19:29:28 +08:00
},
},
2020-08-13 15:18:26 +08:00
}
< / script >
2021-06-08 13:31:50 +08:00
<!--
< setup >
import { defineComponent } from 'vue'
export default defineComponent({
setup() {
const errorHandler = () => true;
return {
errorHandler,
};
},
});
< / setup >
-->
2020-08-13 15:18:26 +08:00
```
2021-09-04 19:29:28 +08:00
2020-08-13 15:18:26 +08:00
:::
### Comment l'image s'adapte à son conteneur
Défini comment l'image s'adapte à son conteneur, pareil que [object-fit ](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit ).
:::demo
2021-09-04 19:29:28 +08:00
2020-08-13 15:18:26 +08:00
```html
< template >
< div class = "demo-fit" >
< div class = "block" v-for = "fit in fits" :key = "fit" >
2021-09-04 19:29:28 +08:00
< span class = "title" > {{ fit }}< / span >
< el-avatar shape = "square" :size = "100" :fit = "fit" :src = "url" > < / el-avatar >
2020-08-13 15:18:26 +08:00
< / div >
< / div >
< / template >
< script >
export default {
data() {
return {
fits: ['fill', 'contain', 'cover', 'none', 'scale-down'],
2021-09-04 19:29:28 +08:00
url: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
2020-08-13 15:18:26 +08:00
}
2021-09-04 19:29:28 +08:00
},
2020-08-13 15:18:26 +08:00
}
< / script >
2021-06-08 13:31:50 +08:00
<!--
< setup >
import { defineComponent, reactive, toRefs } from 'vue';
export default defineComponent({
setup() {
const state = reactive({
fits: ['fill', 'contain', 'cover', 'none', 'scale-down'],
url: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg'
});
return {
...toRefs(state),
};
},
});
< / setup >
-->
2020-08-13 15:18:26 +08:00
```
2021-09-04 19:29:28 +08:00
2020-08-13 15:18:26 +08:00
:::
### Attributes
2021-09-04 19:29:28 +08:00
| Attribute | Description | Type | Valeurs acceptées | Default |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | ------------------------------------------ | ------- |
| icon | Défini le type de représentation sur Icon, plus d’ informations sur le composant Icon | string | | |
| size | Défini la taille de l'avatar | number/string | number / large / medium / small | large |
| shape | Défini la forme de l'avatar | string | circle / square | circle |
| src | L'adresse de l'image pour un avatar image | string | | |
| srcSet | Une liste d'un ou plusieurs string séparés par des virgules indiquant un ensemble de sources d'images possibles que le user agent peut utiliser | string | | |
| alt | Cet attribut définit une description textuelle alternative de l'image | string | | |
| fit | Défini comment l'image s'adapte à son conteneur | string | fill / contain / cover / none / scale-down | cover |
2020-08-13 15:18:26 +08:00
### Évènements
2021-09-04 19:29:28 +08:00
| Event Name | Description | Paramètres |
| ---------- | -------------------------------------------------------------------------------------------------- | ---------- |
| error | handler en cas d'erreur de chargement de l'image, renvoie false pour éviter le fallback par défaut | (e: Event) |
2020-08-13 15:18:26 +08:00
### Slot
| Slot Name | Description |
2021-09-04 19:29:28 +08:00
| default | personnalise le contenu de l'avatar |