使用场景 ​
显示人员图形、文字或图片,并可在加载失败时提供后备内容。
基础用法与状态 ​
下列示例只使用本入口的实际公开能力。
基础用法与状态
<!-- 此演示还使用 @asam-ui/icons-vue,请按官网对应指南配置这些公开依赖。 -->
<template>
<div class="actions">
<AsamAvatar :size="40">张</AsamAvatar>
<AsamAvatar :size="48" shape="square" :icon="InfoFilled" />
<AsamAvatar src="data:image/png;base64,invalid" @error="failed = true">后备</AsamAvatar>
</div>
<p class="example-paragraph" role="status">{{ failed ? '图片失败,显示后备内容' : '等待图片结果' }}</p>
</template>
<script lang="ts" setup>
defineOptions({ name: 'AsamAvatarBasicDemo' });
import { ref } from 'vue';
import { AsamAvatar } from '@asam-ui/ui';
import { InfoFilled } from '@asam-ui/icons-vue';
const failed = ref(false);
</script>
<style scoped>
.actions {
display: flex;
flex-wrap: wrap;
gap: var(--asam-space-md);
align-items: center;
}
</style>
<style scoped>
p:where(.example-paragraph) {
margin-block: 16px;
line-height: 1.8;
overflow-wrap: anywhere;
}
</style>
<!-- 此演示还使用 @asam-ui/icons-vue,请按官网对应指南配置这些公开依赖。 -->
<template>
<div class="actions">
<AsamAvatar :size="40">张</AsamAvatar>
<AsamAvatar :size="48" shape="square" :icon="InfoFilled" />
<AsamAvatar src="data:image/png;base64,invalid" @error="failed = true">后备</AsamAvatar>
</div>
<p class="example-paragraph" role="status">{{ failed ? '图片失败,显示后备内容' : '等待图片结果' }}</p>
</template>
<script setup>
defineOptions({ name: 'AsamAvatarBasicDemo' });
import { ref } from 'vue';
import { AsamAvatar } from '@asam-ui/ui';
import { InfoFilled } from '@asam-ui/icons-vue';
const failed = ref(false);
</script>
<style scoped>
.actions {
display: flex;
flex-wrap: wrap;
gap: var(--asam-space-md);
align-items: center;
}
</style>
<style scoped>
p:where(.example-paragraph) {
margin-block: 16px;
line-height: 1.8;
overflow-wrap: anywhere;
}
</style>
使用约定 ​
src/srcSet、shape、size、fit 和 icon 按公开参数设置;size 属于图形尺寸,支持的别名/数值以实际类型为准。default 插槽可提供文字或错误后备内容,error 通知图片加载失败。图标使用 ASAM 图标包。
完整使用场景 ​
基础用法 ​
使用 shape 和 size 属性来设置 Avatar 的形状和大小。
基础用法
<template>
<AsamRow class="demo-avatar demo-basic">
<AsamCol :lg="12" :md="12">
<div class="sub-title">circle</div>
<div class="demo-basic--circle">
<div class="block">
<AsamAvatar :size="50" :src="circleUrl" />
</div>
<div v-for="size in sizeList" :key="size" class="block">
<AsamAvatar :size="size" :src="circleUrl" />
</div>
</div>
</AsamCol>
<AsamCol :lg="12" :md="12">
<div class="sub-title">square</div>
<div class="demo-basic--circle">
<div class="block">
<AsamAvatar shape="square" :size="50" :src="squareUrl" />
</div>
<div v-for="size in sizeList" :key="size" class="block">
<AsamAvatar shape="square" :size="size" :src="squareUrl" />
</div>
</div>
</AsamCol>
</AsamRow>
</template>
<script lang="ts" setup>
defineOptions({ name: 'AsamAvatarCapBasicDemo' });
import { AsamRow, AsamCol, AsamAvatar } from '@asam-ui/ui';
import { reactive, toRefs } from 'vue';
const state = reactive({
circleUrl:
'data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%22180%22%3E%3Crect%20width%3D%22320%22%20height%3D%22180%22%20fill%3D%22%238899aa%22%2F%3E%3Ccircle%20cx%3D%22240%22%20cy%3D%2245%22%20r%3D%2228%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M0%20180L100%2060L220%20180%22%20fill%3D%22%2340566c%22%2F%3E%3Ctext%20x%3D%2212%22%20y%3D%2230%22%20fill%3D%22%23fff%22%3EASAM%20%E7%A4%BA%E4%BE%8B%3C%2Ftext%3E%3C%2Fsvg%3E',
squareUrl:
'data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%22180%22%3E%3Crect%20width%3D%22320%22%20height%3D%22180%22%20fill%3D%22%238899aa%22%2F%3E%3Ccircle%20cx%3D%22240%22%20cy%3D%2245%22%20r%3D%2228%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M0%20180L100%2060L220%20180%22%20fill%3D%22%2340566c%22%2F%3E%3Ctext%20x%3D%2212%22%20y%3D%2230%22%20fill%3D%22%23fff%22%3EASAM%20%E7%A4%BA%E4%BE%8B%3C%2Ftext%3E%3C%2Fsvg%3E',
sizeList: ['small', '', 'large'] as const
});
const { circleUrl, squareUrl, sizeList } = toRefs(state);
</script>
<style scoped>
/* stylelint-disable selector-class-pattern -- Existing component and demonstration BEM selectors retain their public names. */
.demo-basic {
text-align: center;
}
.demo-basic .sub-title {
margin-bottom: 10px;
font-size: 14px;
color: var(--el-text-color-secondary);
}
.demo-basic .demo-basic--circle,
.demo-basic .demo-basic--square {
display: flex;
justify-content: space-between;
align-items: center;
}
.demo-basic .block {
flex: 1;
}
.demo-basic .block:not(:last-child) {
border-right: 1px solid var(--el-border-color);
}
.demo-basic .el-col:not(:last-child) {
border-right: 1px solid var(--el-border-color);
}
@media screen and (width <= 992px) {
.demo-basic .el-col:not(:last-child) {
border-right: none;
}
}
/* stylelint-enable selector-class-pattern */
</style>
<template>
<AsamRow class="demo-avatar demo-basic">
<AsamCol :lg="12" :md="12">
<div class="sub-title">circle</div>
<div class="demo-basic--circle">
<div class="block">
<AsamAvatar :size="50" :src="circleUrl" />
</div>
<div v-for="size in sizeList" :key="size" class="block">
<AsamAvatar :size="size" :src="circleUrl" />
</div>
</div>
</AsamCol>
<AsamCol :lg="12" :md="12">
<div class="sub-title">square</div>
<div class="demo-basic--circle">
<div class="block">
<AsamAvatar shape="square" :size="50" :src="squareUrl" />
</div>
<div v-for="size in sizeList" :key="size" class="block">
<AsamAvatar shape="square" :size="size" :src="squareUrl" />
</div>
</div>
</AsamCol>
</AsamRow>
</template>
<script setup>
defineOptions({ name: 'AsamAvatarCapBasicDemo' });
import { AsamRow, AsamCol, AsamAvatar } from '@asam-ui/ui';
import { reactive, toRefs } from 'vue';
const state = reactive({
circleUrl:
'data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%22180%22%3E%3Crect%20width%3D%22320%22%20height%3D%22180%22%20fill%3D%22%238899aa%22%2F%3E%3Ccircle%20cx%3D%22240%22%20cy%3D%2245%22%20r%3D%2228%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M0%20180L100%2060L220%20180%22%20fill%3D%22%2340566c%22%2F%3E%3Ctext%20x%3D%2212%22%20y%3D%2230%22%20fill%3D%22%23fff%22%3EASAM%20%E7%A4%BA%E4%BE%8B%3C%2Ftext%3E%3C%2Fsvg%3E',
squareUrl:
'data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%22180%22%3E%3Crect%20width%3D%22320%22%20height%3D%22180%22%20fill%3D%22%238899aa%22%2F%3E%3Ccircle%20cx%3D%22240%22%20cy%3D%2245%22%20r%3D%2228%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M0%20180L100%2060L220%20180%22%20fill%3D%22%2340566c%22%2F%3E%3Ctext%20x%3D%2212%22%20y%3D%2230%22%20fill%3D%22%23fff%22%3EASAM%20%E7%A4%BA%E4%BE%8B%3C%2Ftext%3E%3C%2Fsvg%3E',
sizeList: ['small', '', 'large']
});
const { circleUrl, squareUrl, sizeList } = toRefs(state);
</script>
<style scoped>
/* stylelint-disable selector-class-pattern -- Existing component and demonstration BEM selectors retain their public names. */
.demo-basic {
text-align: center;
}
.demo-basic .sub-title {
margin-bottom: 10px;
font-size: 14px;
color: var(--el-text-color-secondary);
}
.demo-basic .demo-basic--circle,
.demo-basic .demo-basic--square {
display: flex;
justify-content: space-between;
align-items: center;
}
.demo-basic .block {
flex: 1;
}
.demo-basic .block:not(:last-child) {
border-right: 1px solid var(--el-border-color);
}
.demo-basic .el-col:not(:last-child) {
border-right: 1px solid var(--el-border-color);
}
@media screen and (width <= 992px) {
.demo-basic .el-col:not(:last-child) {
border-right: none;
}
}
/* stylelint-enable selector-class-pattern */
</style>
不同状态 ​
支持使用图片,图标或者文字作为 Avatar。
不同状态
<!-- 此演示还使用 @asam-ui/icons-vue,请按官网对应指南配置这些公开依赖。 -->
<template>
<div class="demo-type">
<div>
<AsamAvatar :icon="UserFilled" />
</div>
<div>
<AsamAvatar
src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%22180%22%3E%3Crect%20width%3D%22320%22%20height%3D%22180%22%20fill%3D%22%238899aa%22%2F%3E%3Ccircle%20cx%3D%22240%22%20cy%3D%2245%22%20r%3D%2228%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M0%20180L100%2060L220%20180%22%20fill%3D%22%2340566c%22%2F%3E%3Ctext%20x%3D%2212%22%20y%3D%2230%22%20fill%3D%22%23fff%22%3EASAM%20%E7%A4%BA%E4%BE%8B%3C%2Ftext%3E%3C%2Fsvg%3E"
/>
</div>
<div>
<AsamAvatar> user </AsamAvatar>
</div>
</div>
</template>
<script lang="ts" setup>
defineOptions({ name: 'AsamAvatarCapTypesDemo' });
import { AsamAvatar } from '@asam-ui/ui';
import { UserFilled } from '@asam-ui/icons-vue';
</script>
<style scoped>
.demo-type {
display: flex;
}
.demo-type > div {
flex: 1;
text-align: center;
}
.demo-type > div:not(:last-child) {
border-right: 1px solid var(--el-border-color);
}
</style>
<!-- 此演示还使用 @asam-ui/icons-vue,请按官网对应指南配置这些公开依赖。 -->
<template>
<div class="demo-type">
<div>
<AsamAvatar :icon="UserFilled" />
</div>
<div>
<AsamAvatar
src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%22180%22%3E%3Crect%20width%3D%22320%22%20height%3D%22180%22%20fill%3D%22%238899aa%22%2F%3E%3Ccircle%20cx%3D%22240%22%20cy%3D%2245%22%20r%3D%2228%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M0%20180L100%2060L220%20180%22%20fill%3D%22%2340566c%22%2F%3E%3Ctext%20x%3D%2212%22%20y%3D%2230%22%20fill%3D%22%23fff%22%3EASAM%20%E7%A4%BA%E4%BE%8B%3C%2Ftext%3E%3C%2Fsvg%3E"
/>
</div>
<div>
<AsamAvatar> user </AsamAvatar>
</div>
</div>
</template>
<script setup>
defineOptions({ name: 'AsamAvatarCapTypesDemo' });
import { AsamAvatar } from '@asam-ui/ui';
import { UserFilled } from '@asam-ui/icons-vue';
</script>
<style scoped>
.demo-type {
display: flex;
}
.demo-type > div {
flex: 1;
text-align: center;
}
.demo-type > div:not(:last-child) {
border-right: 1px solid var(--el-border-color);
}
</style>
回退行为 ​
图片加载失败时的回退行为。
回退行为
<template>
<div class="demo-type">
<AsamAvatar :size="60" src="data:image/png;base64,AA==" @error="errorHandler">
<AsamImage
src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%22180%22%3E%3Crect%20width%3D%22320%22%20height%3D%22180%22%20fill%3D%22%238899aa%22%2F%3E%3Ccircle%20cx%3D%22240%22%20cy%3D%2245%22%20r%3D%2228%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M0%20180L100%2060L220%20180%22%20fill%3D%22%2340566c%22%2F%3E%3Ctext%20x%3D%2212%22%20y%3D%2230%22%20fill%3D%22%23fff%22%3EASAM%20%E7%A4%BA%E4%BE%8B%3C%2Ftext%3E%3C%2Fsvg%3E"
/>
</AsamAvatar>
</div>
</template>
<script lang="ts" setup>
defineOptions({ name: 'AsamAvatarCapFallbackDemo' });
import { AsamImage, AsamAvatar } from '@asam-ui/ui';
const errorHandler = () => true;
</script>
<template>
<div class="demo-type">
<AsamAvatar :size="60" src="data:image/png;base64,AA==" @error="errorHandler">
<AsamImage
src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%22180%22%3E%3Crect%20width%3D%22320%22%20height%3D%22180%22%20fill%3D%22%238899aa%22%2F%3E%3Ccircle%20cx%3D%22240%22%20cy%3D%2245%22%20r%3D%2228%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M0%20180L100%2060L220%20180%22%20fill%3D%22%2340566c%22%2F%3E%3Ctext%20x%3D%2212%22%20y%3D%2230%22%20fill%3D%22%23fff%22%3EASAM%20%E7%A4%BA%E4%BE%8B%3C%2Ftext%3E%3C%2Fsvg%3E"
/>
</AsamAvatar>
</div>
</template>
<script setup>
defineOptions({ name: 'AsamAvatarCapFallbackDemo' });
import { AsamImage, AsamAvatar } from '@asam-ui/ui';
const errorHandler = () => true;
</script>
适应容器 ​
当使用图片作为用户头像时,设置该图片如何在容器中展示。与 object-fit 属性一致
适应容器
<template>
<div class="demo-fit">
<div v-for="fit in fits" :key="fit" class="block">
<span class="title">{{ fit }}</span>
<AsamAvatar shape="square" :size="100" :fit="fit" :src="url" />
</div>
</div>
</template>
<script lang="ts" setup>
defineOptions({ name: 'AsamAvatarCapFitDemo' });
import { AsamAvatar } from '@asam-ui/ui';
import { reactive, toRefs } from 'vue';
import type { CSSProperties } from 'vue';
const state = reactive({
fits: ['fill', 'contain', 'cover', 'none', 'scale-down'] as CSSProperties['object-fit'][],
url: 'data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%22180%22%3E%3Crect%20width%3D%22320%22%20height%3D%22180%22%20fill%3D%22%238899aa%22%2F%3E%3Ccircle%20cx%3D%22240%22%20cy%3D%2245%22%20r%3D%2228%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M0%20180L100%2060L220%20180%22%20fill%3D%22%2340566c%22%2F%3E%3Ctext%20x%3D%2212%22%20y%3D%2230%22%20fill%3D%22%23fff%22%3EASAM%20%E7%A4%BA%E4%BE%8B%3C%2Ftext%3E%3C%2Fsvg%3E'
});
const { fits, url } = toRefs(state);
</script>
<style scoped>
.demo-fit {
display: flex;
text-align: center;
justify-content: space-between;
}
.demo-fit .block {
flex: 1;
display: flex;
flex-direction: column;
flex-grow: 0;
}
.demo-fit .title {
margin-bottom: 10px;
font-size: 14px;
color: var(--el-text-color-secondary);
}
</style>
<template>
<div class="demo-fit">
<div v-for="fit in fits" :key="fit" class="block">
<span class="title">{{ fit }}</span>
<AsamAvatar shape="square" :size="100" :fit="fit" :src="url" />
</div>
</div>
</template>
<script setup>
defineOptions({ name: 'AsamAvatarCapFitDemo' });
import { AsamAvatar } from '@asam-ui/ui';
import { reactive, toRefs } from 'vue';
const state = reactive({
fits: ['fill', 'contain', 'cover', 'none', 'scale-down'],
url: 'data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%22180%22%3E%3Crect%20width%3D%22320%22%20height%3D%22180%22%20fill%3D%22%238899aa%22%2F%3E%3Ccircle%20cx%3D%22240%22%20cy%3D%2245%22%20r%3D%2228%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M0%20180L100%2060L220%20180%22%20fill%3D%22%2340566c%22%2F%3E%3Ctext%20x%3D%2212%22%20y%3D%2230%22%20fill%3D%22%23fff%22%3EASAM%20%E7%A4%BA%E4%BE%8B%3C%2Ftext%3E%3C%2Fsvg%3E'
});
const { fits, url } = toRefs(state);
</script>
<style scoped>
.demo-fit {
display: flex;
text-align: center;
justify-content: space-between;
}
.demo-fit .block {
flex: 1;
display: flex;
flex-direction: column;
flex-grow: 0;
}
.demo-fit .title {
margin-bottom: 10px;
font-size: 14px;
color: var(--el-text-color-secondary);
}
</style>
头像组 2.13.1 ​
显示为头像组
使用标签 <el-avatar-group> 来分组您的头像。
头像组 2.13.1
<template>
<div class="m-4">
<p class="example-paragraph">default</p>
<AsamAvatarGroup>
<AsamAvatar v-for="number in 5" :key="number" :src="circleUrl" />
</AsamAvatarGroup>
</div>
<div class="m-4">
<p class="example-paragraph">使用 collapse-avatars</p>
<AsamAvatarGroup collapse-avatars>
<AsamAvatar v-for="number in 5" :key="number" :src="circleUrl" />
</AsamAvatarGroup>
</div>
<div class="m-4">
<p class="example-paragraph">使用 collapse-class 和 collapse-style</p>
<AsamAvatarGroup
collapse-avatars
:collapse-style="{ 'background-color': '#d9ecff' }"
collapse-class="my-collapse-avatar"
>
<AsamAvatar v-for="number in 5" :key="number" :src="circleUrl" />
</AsamAvatarGroup>
</div>
<div class="m-4">
<p class="example-paragraph">使用 max-collapse-avatars</p>
<AsamAvatarGroup collapse-avatars :max-collapse-avatars="3">
<AsamAvatar v-for="number in 5" :key="number" :src="circleUrl" />
</AsamAvatarGroup>
</div>
<div class="m-4">
<p class="example-paragraph">使用 collapse-avatars-tooltip</p>
<AsamAvatarGroup collapse-avatars :max-collapse-avatars="3" collapse-avatars-tooltip>
<AsamAvatar v-for="number in 5" :key="number" :src="circleUrl" />
</AsamAvatarGroup>
</div>
</template>
<script lang="ts" setup>
defineOptions({ name: 'AsamAvatarCapGroupDemo' });
import { AsamAvatarGroup, AsamAvatar } from '@asam-ui/ui';
const circleUrl =
'data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%22180%22%3E%3Crect%20width%3D%22320%22%20height%3D%22180%22%20fill%3D%22%238899aa%22%2F%3E%3Ccircle%20cx%3D%22240%22%20cy%3D%2245%22%20r%3D%2228%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M0%20180L100%2060L220%20180%22%20fill%3D%22%2340566c%22%2F%3E%3Ctext%20x%3D%2212%22%20y%3D%2230%22%20fill%3D%22%23fff%22%3EASAM%20%E7%A4%BA%E4%BE%8B%3C%2Ftext%3E%3C%2Fsvg%3E';
</script>
<style>
.my-collapse-avatar {
color: #409eff;
}
</style>
<style scoped>
/* Local styles keep this sample runnable without a website utility-CSS preset. */
.m-4 {
margin: 1rem;
}
</style>
<style scoped>
p:where(.example-paragraph) {
margin-block: 16px;
line-height: 1.8;
overflow-wrap: anywhere;
}
</style>
<template>
<div class="m-4">
<p class="example-paragraph">default</p>
<AsamAvatarGroup>
<AsamAvatar v-for="number in 5" :key="number" :src="circleUrl" />
</AsamAvatarGroup>
</div>
<div class="m-4">
<p class="example-paragraph">使用 collapse-avatars</p>
<AsamAvatarGroup collapse-avatars>
<AsamAvatar v-for="number in 5" :key="number" :src="circleUrl" />
</AsamAvatarGroup>
</div>
<div class="m-4">
<p class="example-paragraph">使用 collapse-class 和 collapse-style</p>
<AsamAvatarGroup
collapse-avatars
:collapse-style="{ 'background-color': '#d9ecff' }"
collapse-class="my-collapse-avatar"
>
<AsamAvatar v-for="number in 5" :key="number" :src="circleUrl" />
</AsamAvatarGroup>
</div>
<div class="m-4">
<p class="example-paragraph">使用 max-collapse-avatars</p>
<AsamAvatarGroup collapse-avatars :max-collapse-avatars="3">
<AsamAvatar v-for="number in 5" :key="number" :src="circleUrl" />
</AsamAvatarGroup>
</div>
<div class="m-4">
<p class="example-paragraph">使用 collapse-avatars-tooltip</p>
<AsamAvatarGroup collapse-avatars :max-collapse-avatars="3" collapse-avatars-tooltip>
<AsamAvatar v-for="number in 5" :key="number" :src="circleUrl" />
</AsamAvatarGroup>
</div>
</template>
<script setup>
defineOptions({ name: 'AsamAvatarCapGroupDemo' });
import { AsamAvatarGroup, AsamAvatar } from '@asam-ui/ui';
const circleUrl =
'data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%22180%22%3E%3Crect%20width%3D%22320%22%20height%3D%22180%22%20fill%3D%22%238899aa%22%2F%3E%3Ccircle%20cx%3D%22240%22%20cy%3D%2245%22%20r%3D%2228%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M0%20180L100%2060L220%20180%22%20fill%3D%22%2340566c%22%2F%3E%3Ctext%20x%3D%2212%22%20y%3D%2230%22%20fill%3D%22%23fff%22%3EASAM%20%E7%A4%BA%E4%BE%8B%3C%2Ftext%3E%3C%2Fsvg%3E';
</script>
<style>
.my-collapse-avatar {
color: #409eff;
}
</style>
<style scoped>
/* Local styles keep this sample runnable without a website utility-CSS preset. */
.m-4 {
margin: 1rem;
}
</style>
<style scoped>
p:where(.example-paragraph) {
margin-block: 16px;
line-height: 1.8;
overflow-wrap: anywhere;
}
</style>
API
属性 AsamAvatarProps
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
size | 控制头像组中的头像大小 | enum"" | "large" | "default" | "small"完整类型:number | "" | "large" | "default" | "small" | undefined | — |
shape | 控制头像组中的头像形状 | enum"circle" | "square"完整类型:"circle" | "square" | undefined | — |
icon | 设置 Avatar 的图标类型,具体参考 Icon 组件 | (AsamAvatarProps)["icon"] | — |
src | Avatar 图片的源地址 | string | undefined | "" |
alt | 图片 Avatar 的原生 alt 属性 | string | undefined | — |
srcSet | 图片 Avatar 的原生 srcset 属性 | string | undefined | — |
fit | 当展示类型为图片的时候,设置图片如何适应容器 | enum"fill" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "contain" | "cover" | "none" | "scale-down"完整类型:(AsamAvatarProps)["fit"] | "cover" |
onError | — | ((evt: Event) => any) | undefined | — |
key | — | PropertyKey | undefined | — |
ref | — | VNodeRef | undefined | — |
ref_for | — | boolean | undefined | — |
ref_key | — | string | undefined | — |
onVnodeBeforeMount | — | (AsamAvatarProps)["onVnodeBeforeMount"] | — |
onVnodeMounted | — | (AsamAvatarProps)["onVnodeMounted"] | — |
onVnodeBeforeUpdate | — | (AsamAvatarProps)["onVnodeBeforeUpdate"] | — |
onVnodeUpdated | — | (AsamAvatarProps)["onVnodeUpdated"] | — |
onVnodeBeforeUnmount | — | (AsamAvatarProps)["onVnodeBeforeUnmount"] | — |
onVnodeUnmounted | — | (AsamAvatarProps)["onVnodeUnmounted"] | — |
class | — | unknown | — |
style | — | unknown | — |
实例方法与状态 AsamAvatarExpose
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
$ | — | AsamAvatarExpose["$"] | — |
$data | — | AsamTableColumnExpose | — |
$props | — | AsamAvatarProps | — |
$attrs | — | AsamAvatarExpose["$attrs"] | — |
$refs | — | AsamAvatarExpose["$refs"] | — |
$slots | — | AsamAvatarSlots | — |
$root | — | 查看完整类型ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null | — |
$parent | — | 查看完整类型ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null | — |
$host | — | Element | null | — |
$emit | — | (event: "error", evt: Event) => void | — |
$el | — | any | — |
$options | — | (AsamAvatarExpose)["$options"] | — |
$forceUpdate | — | () => void | — |
$nextTick | — | (AsamAvatarExpose)["$nextTick"] | — |
$watch | — | (AsamAvatarExpose)["$watch"] | — |
src | — | string | — |
fit | — | enum"fill" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "contain" | "cover" | "none" | "scale-down"完整类型:(AsamAvatarExpose)["fit"] | — |
size | 控制头像组中的头像大小 | enum"" | "large" | "default" | "small"完整类型:number | "" | "large" | "default" | "small" | undefined | — |
shape | 控制头像组中的头像形状 | enum"circle" | "square"完整类型:"circle" | "square" | undefined | — |
icon | 设置 Avatar 的图标类型,具体参考 Icon 组件 | (AsamAvatarExpose)["icon"] | — |
alt | 图片 Avatar 的原生 alt 属性 | string | undefined | — |
srcSet | 图片 Avatar 的原生 srcset 属性 | string | undefined | — |
onError | — | ((evt: Event) => any) | undefined | — |
$route | 当前规范化路由位置,详见 RouteLocationNormalizedLoaded。 | AsamAvatarExpose["$route"] | — |
$router | 应用使用的 Router 实例。 | AsamAvatarExpose["$router"] | — |
类型 AsamAvatarInstance
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
$ | — | AsamAvatarExpose["$"] | — |
$data | — | AsamTableColumnExpose | — |
$props | — | AsamAvatarProps | — |
$attrs | — | AsamAvatarExpose["$attrs"] | — |
$refs | — | AsamAvatarExpose["$refs"] | — |
$slots | — | AsamAvatarSlots | — |
$root | — | 查看完整类型ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null | — |
$parent | — | 查看完整类型ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null | — |
$host | — | Element | null | — |
$emit | — | (event: "error", evt: Event) => void | — |
$el | — | any | — |
$options | — | (AsamAvatarInstance)["$options"] | — |
$forceUpdate | — | () => void | — |
$nextTick | — | (AsamAvatarInstance)["$nextTick"] | — |
$watch | — | (AsamAvatarInstance)["$watch"] | — |
src | — | string | — |
fit | — | enum"fill" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "contain" | "cover" | "none" | "scale-down"完整类型:(AsamAvatarInstance)["fit"] | — |
size | 控制头像组中的头像大小 | enum"" | "large" | "default" | "small"完整类型:number | "" | "large" | "default" | "small" | undefined | — |
shape | 控制头像组中的头像形状 | enum"circle" | "square"完整类型:"circle" | "square" | undefined | — |
icon | 设置 Avatar 的图标类型,具体参考 Icon 组件 | (AsamAvatarInstance)["icon"] | — |
alt | 图片 Avatar 的原生 alt 属性 | string | undefined | — |
srcSet | 图片 Avatar 的原生 srcset 属性 | string | undefined | — |
onError | — | ((evt: Event) => any) | undefined | — |
$route | 当前规范化路由位置,详见 RouteLocationNormalizedLoaded。 | AsamAvatarExpose["$route"] | — |
$router | 应用使用的 Router 实例。 | AsamAvatarExpose["$router"] | — |
插槽 AsamAvatarSlots
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
default | — | (AsamAvatarSlots)["default"] | — |
事件 AsamAvatarEmits
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
error | — | (evt: Event) => boolean | — |
类型 AsamAvatarGroupContext
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
size | — | enum"" | "large" | "default" | "small"完整类型:number | "" | "large" | "default" | "small" | undefined | — |
shape | — | enum"circle" | "square"完整类型:"circle" | "square" | undefined | — |
类型 AsamAvatarGroupPropsPublic
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
effect | Tooltip 主题,内置了 dark / light 两种 | enum"light" | "dark"完整类型:AsamAvatarGroupExpose["effect"] | undefined | — |
popperClass | tooltip 的自定义类名 | AsamAvatarGroupProps["popperClass"] | — |
popperStyle | tooltip 的自定义样式 | (AsamAvatarGroupPropsPublic)["popperStyle"] | — |
placement | tooltip 的位置 | enum"auto" | "auto-start" | "auto-end" | "top" | "bottom" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end"完整类型:AsamAvatarGroupExpose["placement"] | undefined | — |
size | 控制头像组中的头像大小 | enum"" | "large" | "default" | "small"完整类型:number | "" | "large" | "default" | "small" | undefined | — |
shape | 控制头像组中的头像形状 | enum"circle" | "square"完整类型:"circle" | "square" | undefined | — |
collapseAvatars | 是否折叠头像 | boolean | undefined | — |
collapseAvatarsTooltip | 是否在鼠标悬停折叠头像的文字时显示所有折叠头像。若要使用此功能, collapse-avatars 必须为 true | boolean | undefined | — |
maxCollapseAvatars | 需要显示的头像的最大数量若要使用此功能, collapse-avatars 必须为 true | number | undefined | — |
collapseClass | collapse-avatar 的自定义类名 | AsamAvatarGroupProps["popperClass"] | — |
collapseStyle | collapse-avatar 的自定义样式 | (AsamAvatarGroupPropsPublic)["collapseStyle"] | — |
类型 AsamAvatarPropsPublic
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
size | — | enum"" | "large" | "default" | "small"完整类型:(AsamAvatarPropsPublic)["size"] | — |
fit | — | enum"fill" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "contain" | "cover" | "none" | "scale-down"完整类型:(AsamAvatarPropsPublic)["fit"] | — |
shape | — | enum"circle" | "square"完整类型:(AsamAvatarPropsPublic)["shape"] | — |
icon | — | (AsamAvatarPropsPublic)["icon"] | — |
src | — | string | undefined | — |
alt | — | string | undefined | — |
srcSet | — | string | undefined | — |
关联组件
参数与事件补充说明
公开绑定参数,包含具备类型的事件监听器;默认值由运行时定义提供。
参数与事件说明
size
必填:否;声明来源:上游声明。
size 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:"" / "large" / "default" / "small"
默认值与来源
未知 / 未声明固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)
固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)
shape
必填:否;声明来源:上游声明。
shape 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:"circle" / "square"
默认值与来源
未知 / 未声明固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)
固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)
icon
必填:否;声明来源:上游声明。
icon 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(props: any, ctx: Parameters<Extract<NonNullable<(AsamAvatarProps)["icon"]>, (...args: never[]) => unknown>>[1]): any
icon.__isFragment:undefined— 依赖声明icon.__isTeleport:undefined— 依赖声明icon.__isSuspense:undefined— 依赖声明
默认值与来源
未知 / 未声明固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)
固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)
src
必填:否;声明来源:上游声明。
默认值与来源
""(已安装运行时;已安装组件)固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)
固定上游源码默认表达式:''(2.14.7;源码事实,未作为 ASAM 运行实测)
alt
必填:否;声明来源:上游声明。
默认值与来源
未知 / 未声明固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)
srcSet
必填:否;声明来源:上游声明。
默认值与来源
未知 / 未声明固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)
fit
必填:否;声明来源:上游声明。
fit 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:"fill" / "-moz-initial" / "inherit" / "initial" / "revert" / "revert-layer" / "unset" / "contain" / "cover" / "none" / "scale-down"
默认值与来源
"cover"(已安装运行时;已安装组件)固定上游文档默认:cover(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)
固定上游源码默认表达式:'cover'(2.14.7;源码事实,未作为 ASAM 运行实测)
onError
必填:否;声明来源:上游声明。
onError 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(evt: Event): any
key
必填:否;声明来源:依赖声明。
ref
必填:否;声明来源:依赖声明。
ref 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(ref: Element | ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null, refs: Record<string, any>): void
ref.value:any— 依赖声明ref.__@RefSymbol@8854:true— 依赖声明仅用于区分类型:保留在公开声明中,通过私有 Symbol 避免出现在编辑器自动补全中。
枚举:
true
ref_for
必填:否;声明来源:依赖声明。
ref_for 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:false / true
ref_key
必填:否;声明来源:依赖声明。
onVnodeBeforeMount
必填:否;声明来源:依赖声明。
onVnodeBeforeMount 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(vnode: VNode<RendererNode, RendererElement, { [key: string]: any; }>): void
onVnodeMounted
必填:否;声明来源:依赖声明。
onVnodeMounted 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(vnode: VNode<RendererNode, RendererElement, { [key: string]: any; }>): void
onVnodeBeforeUpdate
必填:否;声明来源:依赖声明。
onVnodeBeforeUpdate 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(vnode: VNode<RendererNode, RendererElement, { [key: string]: any; }>, oldVNode: VNode<RendererNode, RendererElement, { [key: string]: any; }>): void
onVnodeUpdated
必填:否;声明来源:依赖声明。
onVnodeUpdated 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(vnode: VNode<RendererNode, RendererElement, { [key: string]: any; }>, oldVNode: VNode<RendererNode, RendererElement, { [key: string]: any; }>): void
onVnodeBeforeUnmount
必填:否;声明来源:依赖声明。
onVnodeBeforeUnmount 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(vnode: VNode<RendererNode, RendererElement, { [key: string]: any; }>): void
onVnodeUnmounted
必填:否;声明来源:依赖声明。
onVnodeUnmounted 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(vnode: VNode<RendererNode, RendererElement, { [key: string]: any; }>): void
class
必填:否;声明来源:依赖声明。
style
必填:否;声明来源:依赖声明。
AsamAvatarProps 公开类型视图
import type { VNodeRef, ComponentPublicInstance, ComponentOptionsBase, ComponentProvideOptions, VNode, RendererNode, RendererElement } from 'vue';
import type { AsamAvatarProps, AsamAvatarExpose } from '@asam-ui/ui';
type PublicMember<T, K extends PropertyKey> = T extends unknown ? K extends keyof T ? T[K] : never : never;
// AsamAvatarProps
type PublicContract = {
readonly "size"?: number | "" | "large" | "default" | "small" | undefined;
readonly "shape"?: "circle" | "square" | undefined;
readonly "icon"?: (AsamAvatarProps)["icon"];
readonly "src"?: string | undefined;
readonly "alt"?: string | undefined;
readonly "srcSet"?: string | undefined;
readonly "fit"?: (AsamAvatarProps)["fit"];
readonly "onError"?: ((evt: Event) => any) | undefined;
"key"?: PropertyKey | undefined;
"ref"?: VNodeRef | undefined;
"ref_for"?: boolean | undefined;
"ref_key"?: string | undefined;
"onVnodeBeforeMount"?: (AsamAvatarProps)["onVnodeBeforeMount"];
"onVnodeMounted"?: (AsamAvatarProps)["onVnodeMounted"];
"onVnodeBeforeUpdate"?: (AsamAvatarProps)["onVnodeBeforeUpdate"];
"onVnodeUpdated"?: (AsamAvatarProps)["onVnodeUpdated"];
"onVnodeBeforeUnmount"?: (AsamAvatarProps)["onVnodeBeforeUnmount"];
"onVnodeUnmounted"?: (AsamAvatarProps)["onVnodeUnmounted"];
"class"?: unknown;
"style"?: unknown;
};
完整的上游实例,包含全部公开方法与响应式状态。
参数与事件说明
$
必填:是;声明来源:依赖声明。
$ 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$data
必填:是;声明来源:依赖声明。
$props
必填:是;声明来源:依赖声明。
$attrs
必填:是;声明来源:依赖声明。
$attrs 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$refs
必填:是;声明来源:依赖声明。
$refs 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$slots
必填:是;声明来源:依赖声明。
$root
必填:是;声明来源:依赖声明。
$parent
必填:是;声明来源:依赖声明。
$host
必填:是;声明来源:依赖声明。
$host 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
嵌套展开边界:大型实例类型;完整类型见公开类型视图。
$emit
必填:是;声明来源:依赖声明。
$emit 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(event: "error", ...args: [evt: globalThis.Event]): void
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$el
必填:是;声明来源:依赖声明。
$options
必填:是;声明来源:依赖声明。
$forceUpdate
必填:是;声明来源:依赖声明。
$forceUpdate 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(): void
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$nextTick
必填:是;声明来源:依赖声明。
$nextTick 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(): Promise<void>
事件参数:<T, R>(this: T, fn: (this: T) => R | Promise<R>): Promise<R>
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$watch
必填:是;声明来源:依赖声明。
$watch 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:<T extends string | ((...args: any) => any)>(source: T, cb: Parameters<Extract<NonNullable<(AsamAvatarExpose)["$watch"]>, (...args: never[]) => unknown>>[1], options?: WatchOptions<boolean> | undefined): WatchStopHandle
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
src
必填:是;声明来源:上游声明。
fit
必填:是;声明来源:上游声明。
fit 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:"fill" / "-moz-initial" / "inherit" / "initial" / "revert" / "revert-layer" / "unset" / "contain" / "cover" / "none" / "scale-down"
size
必填:否;声明来源:上游声明。
size 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:"" / "large" / "default" / "small"
默认值与来源
未知 / 未声明固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)
shape
必填:否;声明来源:上游声明。
shape 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:"circle" / "square"
默认值与来源
未知 / 未声明固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)
icon
必填:否;声明来源:上游声明。
icon 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(props: any, ctx: Parameters<Extract<NonNullable<(AsamAvatarExpose)["icon"]>, (...args: never[]) => unknown>>[1]): any
icon.__isFragment:undefined— 依赖声明icon.__isTeleport:undefined— 依赖声明icon.__isSuspense:undefined— 依赖声明
默认值与来源
未知 / 未声明固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)
alt
必填:否;声明来源:上游声明。
srcSet
必填:否;声明来源:上游声明。
onError
必填:否;声明来源:上游声明。
onError 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(evt: Event): any
$route
必填:是;声明来源:依赖声明。
$route 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
$route.matched:(NonNullable<AsamAvatarExpose["$route"]>)["matched"]— 依赖声明仅包含普通组件的 RouteLocationMatched 数组;懒加载组件已解析并替换 components 中的值,可直接展示路由,不包含重定向记录。此属性不可枚举。
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$route.name:(NonNullable<AsamAvatarExpose["$route"]>)["name"]— 依赖声明匹配路由记录的名称。
$route.fullPath:string— 依赖声明包含 search 和 hash 的完整位置字符串,使用百分号编码。
$route.query:(NonNullable<AsamAvatarExpose["$route"]>)["query"]— 依赖声明当前位置 search 属性的对象表示。
$route.hash:string— 依赖声明当前位置的哈希片段;存在时以 # 开头。
$route.redirectedFrom:(NonNullable<AsamAvatarExpose["$route"]>)["redirectedFrom"]— 依赖声明最终到达当前位置之前,最初尝试访问的位置。
$route.redirectedFrom.matched:PublicMember<NonNullable<(NonNullable<AsamAvatarExpose["$route"]>)["redirectedFrom"]>, "matched">— 依赖声明包含添加路由时原始组件的 RouteRecord 数组,也可能包含重定向记录,不能直接用于展示。此属性不可枚举。
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$route.redirectedFrom.fullPath:string— 依赖声明包含 search 和 hash 的完整位置字符串,使用百分号编码。
$route.redirectedFrom.query:PublicMember<NonNullable<(NonNullable<AsamAvatarExpose["$route"]>)["redirectedFrom"]>, "query">— 依赖声明当前位置 search 属性的对象表示。
$route.redirectedFrom.hash:string— 依赖声明当前位置的哈希片段;存在时以 # 开头。
$route.redirectedFrom.redirectedFrom:PublicMember<NonNullable<(NonNullable<AsamAvatarExpose["$route"]>)["redirectedFrom"]>, "redirectedFrom">— 依赖声明最终到达当前位置之前,最初尝试访问的位置。
嵌套展开边界:递归引用;完整类型见公开类型视图。
$route.redirectedFrom.name:PublicMember<NonNullable<(NonNullable<AsamAvatarExpose["$route"]>)["redirectedFrom"]>, "name">— 依赖声明匹配路由记录的名称。
$route.redirectedFrom.meta:PublicMember<NonNullable<(NonNullable<AsamAvatarExpose["$route"]>)["redirectedFrom"]>, "meta">— 依赖声明全部匹配路由记录合并后的 meta 属性。
$route.redirectedFrom.params:PublicMember<NonNullable<(NonNullable<AsamAvatarExpose["$route"]>)["redirectedFrom"]>, "params">— 依赖声明从 path 提取并解码后的参数对象。
$route.redirectedFrom.path:string— 依赖声明URL 中经过百分号编码的路径部分。
$route.redirectedFrom.replace:boolean | undefined— 依赖声明替换当前历史记录,而不是添加新记录。
枚举:
false/true$route.redirectedFrom.force:boolean | undefined— 依赖声明即使目标与当前位置相同,也触发导航;除非传入 replace: true,否则会添加一条历史记录。
枚举:
false/true$route.redirectedFrom.state:PublicMember<NonNullable<(NonNullable<AsamAvatarExpose["$route"]>)["redirectedFrom"]>, "state">— 依赖声明通过 History API 保存的状态;不能包含响应式值,也不允许 Symbol 等部分值。详情参见 https://developer.mozilla.org/zh-CN/docs/Web/API/History/state。
$route.meta:(NonNullable<AsamAvatarExpose["$route"]>)["meta"]— 依赖声明全部匹配路由记录合并后的 meta 属性。
$route.params:(NonNullable<AsamAvatarExpose["$route"]>)["params"]— 依赖声明从 path 提取并解码后的参数对象。
$route.path:string— 依赖声明URL 中经过百分号编码的路径部分。
$router
必填:是;声明来源:依赖声明。
$router 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
$router.options:(NonNullable<AsamAvatarExpose["$router"]>)["options"]— 依赖声明创建路由器时传入的原始配置对象。
$router.options.routes:(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["routes"]— 依赖声明需要添加到路由器的初始路由列表。
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$router.options.history:(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["history"]— 依赖声明路由器使用的历史记录实现。通常使用 createWebHistory,并配置服务器回退;createWebHashHistory 无需服务器配置,但搜索引擎无法处理其哈希路由,影响搜索优化。
$router.options.history.base:string— 依赖声明添加到每个 URL 前的基础路径;例如 base 为 /sub-folder 时,可将单页应用部署在域名的对应子目录。
嵌套展开边界:深度上限;完整类型见公开类型视图。
$router.options.history.location:string— 依赖声明当前历史记录位置。
嵌套展开边界:深度上限;完整类型见公开类型视图。
$router.options.history.state:(NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["history"]>)["state"]— 依赖声明当前历史记录状态。
嵌套展开边界:深度上限;完整类型见公开类型视图。
$router.options.history.push:(NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["history"]>)["push"]— 依赖声明导航到指定位置;使用 HTML5 History 时,通过 history.pushState 实际更新 URL。
事件参数:
(to: string, data?: Parameters<Extract<NonNullable<(NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["history"]>)["push"]>, (...args: never[]) => unknown>>[1]): void嵌套展开边界:深度上限;完整类型见公开类型视图。
$router.options.history.replace:(NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["history"]>)["replace"]— 依赖声明与 RouterHistory.push 类似,但调用 history.replaceState,而非 history.pushState。
事件参数:
(to: string, data?: Parameters<Extract<NonNullable<(NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["history"]>)["replace"]>, (...args: never[]) => unknown>>[1]): void嵌套展开边界:深度上限;完整类型见公开类型视图。
$router.options.history.go:(delta: number, triggerListeners?: boolean) => void— 依赖声明按指定方向遍历历史记录。
事件参数:
(delta: number, triggerListeners?: boolean | undefined): void嵌套展开边界:深度上限;完整类型见公开类型视图。
$router.options.history.listen:(NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["history"]>)["listen"]— 依赖声明为历史记录实现添加监听器;由浏览器前进、后退等外部导航,或传入 true 的 RouterHistory.back、RouterHistory.forward 触发。
事件参数:
(callback: Parameters<Extract<NonNullable<(NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["history"]>)["listen"]>, (...args: never[]) => unknown>>[0]): () => void嵌套展开边界:深度上限;完整类型见公开类型视图。
$router.options.history.createHref:(location: AsamAvatarExpose["src"]) => string— 依赖声明生成用于链接元素的对应 href。
事件参数:
(location: string): string嵌套展开边界:深度上限;完整类型见公开类型视图。
$router.options.history.destroy:() => void— 依赖声明清除历史记录实现注册的全部事件监听器。
事件参数:
(): void嵌套展开边界:深度上限;完整类型见公开类型视图。
$router.options.scrollBehavior:(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["scrollBehavior"]— 依赖声明控制页面导航时滚动行为的函数;可返回 Promise 延迟滚动。
事件参数:
(to: Parameters<Extract<NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["scrollBehavior"]>, (...args: never[]) => unknown>>[0], from: AsamAvatarExpose["$route"], savedPosition: Parameters<Extract<NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["scrollBehavior"]>, (...args: never[]) => unknown>>[2]): ReturnType<Extract<NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["scrollBehavior"]>, (...args: never[]) => unknown>>$router.options.parseQuery:(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["parseQuery"]— 依赖声明自定义查询参数解析函数;与 EXPERIMENTAL_RouterOptions_Base.stringifyQuery 配套。
事件参数:
(search: string): ReturnType<Extract<NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["parseQuery"]>, (...args: never[]) => unknown>>$router.options.stringifyQuery:(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["stringifyQuery"]— 依赖声明自定义查询对象序列化函数;不要添加开头的 ?,与 parseQuery 的解析函数配套。
事件参数:
(query: Parameters<Extract<NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["stringifyQuery"]>, (...args: never[]) => unknown>>[0]): string$router.options.linkActiveClass:string | undefined— 依赖声明应用于激活 RouterLink 的默认类名;未指定时使用 router-link-active。
$router.options.linkExactActiveClass:string | undefined— 依赖声明应用于精确激活 RouterLink 的默认类名;未指定时使用 router-link-exact-active。
$router.options.end:boolean | undefined— 依赖声明是否在表达式末尾添加 $,使其匹配到路径结尾。
声明默认:
`true`(注释,实际运行默认以源码/安装包为准)枚举:
false/true$router.options.sensitive:boolean | undefined— 依赖声明使正则表达式区分大小写。
声明默认:
`false`(注释,实际运行默认以源码/安装包为准)枚举:
false/true$router.options.strict:boolean | undefined— 依赖声明是否禁止路径末尾的斜杠。
声明默认:
`false`(注释,实际运行默认以源码/安装包为准)枚举:
false/true
$router.addRoute:(NonNullable<AsamAvatarExpose["$router"]>)["addRoute"]— 依赖声明向已有路由添加子路由,或向路由器添加新的 RouteRecordRaw 路由记录。
事件参数完整签名见公开类型视图。
事件参数完整签名见公开类型视图。
$router.removeRoute:(NonNullable<AsamAvatarExpose["$router"]>)["removeRoute"]— 依赖声明按名称移除已有路由。
事件参数:
(name: Parameters<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["removeRoute"]>, (...args: never[]) => unknown>>[0]): void$router.clearRoutes:() => void— 依赖声明从路由器中删除全部路由。
事件参数:
(): void$router.currentRoute:ShallowRef<AsamAvatarExpose["$route"]>— 依赖声明当前 RouteLocationNormalized。
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$router.listening:boolean— 依赖声明允许关闭历史事件监听,这是用于微前端的底层 API。
枚举:
false/true$router.hasRoute:(NonNullable<AsamAvatarExpose["$router"]>)["hasRoute"]— 依赖声明检查指定名称的路由是否存在。
事件参数:
(name: Parameters<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["hasRoute"]>, (...args: never[]) => unknown>>[0]): boolean$router.getRoutes:(NonNullable<AsamAvatarExpose["$router"]>)["getRoutes"]— 依赖声明获取全部 RouteRecord 路由记录的完整列表。
事件参数:
(): ReturnType<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["getRoutes"]>, (...args: never[]) => unknown>>$router.resolve:(NonNullable<AsamAvatarExpose["$router"]>)["resolve"]— 依赖声明返回 RouteLocationRaw 的规范化位置,包含带基础路径的 href;默认使用 router.currentRoute 作为 currentLocation,仅在高级场景中覆盖。
事件参数完整签名见公开类型视图。
事件参数完整签名见公开类型视图。
$router.push:(NonNullable<AsamAvatarExpose["$router"]>)["push"]— 依赖声明通过向历史栈添加记录,以编程方式导航到新 URL。
事件参数:
(to: Parameters<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["push"]>, (...args: never[]) => unknown>>[0]): ReturnType<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["push"]>, (...args: never[]) => unknown>>$router.replace:(NonNullable<AsamAvatarExpose["$router"]>)["replace"]— 依赖声明通过替换历史栈中的当前记录,以编程方式导航到新 URL。
事件参数:
(to: Parameters<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["replace"]>, (...args: never[]) => unknown>>[0]): ReturnType<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["replace"]>, (...args: never[]) => unknown>>$router.back:() => void— 依赖声明通过 history.back() 在可用时后退,等价于 router.go(-1)。
事件参数:
(): void$router.forward:() => void— 依赖声明通过 history.forward() 在可用时前进,等价于 router.go(1)。
事件参数:
(): void$router.go:(delta: number) => void— 依赖声明通过调用 history.go() 在历史记录中前进或后退。
事件参数:
(delta: number): void$router.beforeEach:(NonNullable<AsamAvatarExpose["$router"]>)["beforeEach"]— 依赖声明添加每次导航之前执行的守卫,并返回移除此守卫的函数。
事件参数:
(guard: Parameters<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["beforeEach"]>, (...args: never[]) => unknown>>[0]): () => void$router.beforeResolve:(NonNullable<AsamAvatarExpose["$router"]>)["beforeResolve"]— 依赖声明添加导航确认之前执行的守卫,此时组件已获取且其他导航守卫已通过;返回移除此守卫的函数。
事件参数:
(guard: Parameters<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["beforeResolve"]>, (...args: never[]) => unknown>>[0]): () => void$router.afterEach:(NonNullable<AsamAvatarExpose["$router"]>)["afterEach"]— 依赖声明添加每次导航结束后执行的钩子,并返回移除此钩子的函数。
事件参数:
(guard: Parameters<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["afterEach"]>, (...args: never[]) => unknown>>[0]): () => void$router.onError:(NonNullable<AsamAvatarExpose["$router"]>)["onError"]— 依赖声明添加导航期间未捕获错误的处理函数,涵盖同步和异步异常、守卫返回或传给 next 的错误,以及路由异步组件解析错误。
事件参数:
(handler: Parameters<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["onError"]>, (...args: never[]) => unknown>>[0]): () => void$router.isReady:() => Promise<void>— 依赖声明返回在初次导航完成后兑现的 Promise,此时关联的异步进入钩子与异步组件均已解析;导航已完成时立即兑现。可用于保持服务端与客户端渲染一致;服务端需手动推入初始位置,客户端从 URL 自动读取。
事件参数:
(): Promise<void>$router.install:(app: App) => void— 依赖声明由 app.use(router) 自动调用,用户不应手动调用;客户端调用时会触发初次导航。
事件参数:
(app: App<any>): void
AsamAvatarExpose 公开类型视图
import type { ComponentPublicInstance, ComponentOptionsBase, ComponentProvideOptions, ComponentOptionsMixin, GlobalComponents, GlobalDirectives, WatchOptions, WatchStopHandle, ShallowRef, App } from 'vue';
import type { AsamAvatarExpose, AsamTableColumnExpose, AsamAvatarProps, AsamAvatarSlots, AsamAvatarGroupExpose } from '@asam-ui/ui';
type PublicMember<T, K extends PropertyKey> = T extends unknown ? K extends keyof T ? T[K] : never : never;
// AsamAvatarExpose
type PublicContract = {
"$": AsamAvatarExpose["$"];
"$data": AsamTableColumnExpose;
"$props": AsamAvatarProps;
"$attrs": AsamAvatarExpose["$attrs"];
"$refs": AsamAvatarExpose["$refs"];
"$slots": AsamAvatarSlots;
"$root": ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null;
"$parent": ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null;
"$host": Element | null;
"$emit": (event: "error", evt: Event) => void;
"$el": any;
"$options": (AsamAvatarExpose)["$options"];
"$forceUpdate": () => void;
"$nextTick": (AsamAvatarExpose)["$nextTick"];
"$watch": (AsamAvatarExpose)["$watch"];
readonly "src": string;
readonly "fit": (AsamAvatarExpose)["fit"];
readonly "size"?: number | "" | "large" | "default" | "small" | undefined;
readonly "shape"?: "circle" | "square" | undefined;
readonly "icon"?: (AsamAvatarExpose)["icon"];
readonly "alt"?: string | undefined;
readonly "srcSet"?: string | undefined;
readonly "onError"?: ((evt: Event) => any) | undefined;
"$route": AsamAvatarExpose["$route"];
"$router": AsamAvatarExpose["$router"];
};
参数与事件说明
$
必填:是;声明来源:依赖声明。
$ 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$data
必填:是;声明来源:依赖声明。
$props
必填:是;声明来源:依赖声明。
$attrs
必填:是;声明来源:依赖声明。
$attrs 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$refs
必填:是;声明来源:依赖声明。
$refs 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$slots
必填:是;声明来源:依赖声明。
$root
必填:是;声明来源:依赖声明。
$parent
必填:是;声明来源:依赖声明。
$host
必填:是;声明来源:依赖声明。
$host 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
嵌套展开边界:大型实例类型;完整类型见公开类型视图。
$emit
必填:是;声明来源:依赖声明。
$emit 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(event: "error", ...args: [evt: globalThis.Event]): void
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$el
必填:是;声明来源:依赖声明。
$options
必填:是;声明来源:依赖声明。
$forceUpdate
必填:是;声明来源:依赖声明。
$forceUpdate 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(): void
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$nextTick
必填:是;声明来源:依赖声明。
$nextTick 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(): Promise<void>
事件参数:<T, R>(this: T, fn: (this: T) => R | Promise<R>): Promise<R>
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$watch
必填:是;声明来源:依赖声明。
$watch 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:<T extends string | ((...args: any) => any)>(source: T, cb: Parameters<Extract<NonNullable<(AsamAvatarInstance)["$watch"]>, (...args: never[]) => unknown>>[1], options?: WatchOptions<boolean> | undefined): WatchStopHandle
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
src
必填:是;声明来源:上游声明。
fit
必填:是;声明来源:上游声明。
fit 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:"fill" / "-moz-initial" / "inherit" / "initial" / "revert" / "revert-layer" / "unset" / "contain" / "cover" / "none" / "scale-down"
size
必填:否;声明来源:上游声明。
size 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:"" / "large" / "default" / "small"
默认值与来源
未知 / 未声明固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)
shape
必填:否;声明来源:上游声明。
shape 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:"circle" / "square"
默认值与来源
未知 / 未声明固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)
icon
必填:否;声明来源:上游声明。
icon 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(props: any, ctx: Parameters<Extract<NonNullable<(AsamAvatarInstance)["icon"]>, (...args: never[]) => unknown>>[1]): any
icon.__isFragment:undefined— 依赖声明icon.__isTeleport:undefined— 依赖声明icon.__isSuspense:undefined— 依赖声明
默认值与来源
未知 / 未声明固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)
alt
必填:否;声明来源:上游声明。
srcSet
必填:否;声明来源:上游声明。
onError
必填:否;声明来源:上游声明。
onError 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(evt: Event): any
$route
必填:是;声明来源:依赖声明。
$route 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
$route.matched:(NonNullable<AsamAvatarExpose["$route"]>)["matched"]— 依赖声明仅包含普通组件的 RouteLocationMatched 数组;懒加载组件已解析并替换 components 中的值,可直接展示路由,不包含重定向记录。此属性不可枚举。
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$route.name:(NonNullable<AsamAvatarExpose["$route"]>)["name"]— 依赖声明匹配路由记录的名称。
$route.fullPath:string— 依赖声明包含 search 和 hash 的完整位置字符串,使用百分号编码。
$route.query:(NonNullable<AsamAvatarExpose["$route"]>)["query"]— 依赖声明当前位置 search 属性的对象表示。
$route.hash:string— 依赖声明当前位置的哈希片段;存在时以 # 开头。
$route.redirectedFrom:(NonNullable<AsamAvatarExpose["$route"]>)["redirectedFrom"]— 依赖声明最终到达当前位置之前,最初尝试访问的位置。
$route.redirectedFrom.matched:PublicMember<NonNullable<(NonNullable<AsamAvatarExpose["$route"]>)["redirectedFrom"]>, "matched">— 依赖声明包含添加路由时原始组件的 RouteRecord 数组,也可能包含重定向记录,不能直接用于展示。此属性不可枚举。
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$route.redirectedFrom.fullPath:string— 依赖声明包含 search 和 hash 的完整位置字符串,使用百分号编码。
$route.redirectedFrom.query:PublicMember<NonNullable<(NonNullable<AsamAvatarExpose["$route"]>)["redirectedFrom"]>, "query">— 依赖声明当前位置 search 属性的对象表示。
$route.redirectedFrom.hash:string— 依赖声明当前位置的哈希片段;存在时以 # 开头。
$route.redirectedFrom.redirectedFrom:PublicMember<NonNullable<(NonNullable<AsamAvatarExpose["$route"]>)["redirectedFrom"]>, "redirectedFrom">— 依赖声明最终到达当前位置之前,最初尝试访问的位置。
嵌套展开边界:递归引用;完整类型见公开类型视图。
$route.redirectedFrom.name:PublicMember<NonNullable<(NonNullable<AsamAvatarExpose["$route"]>)["redirectedFrom"]>, "name">— 依赖声明匹配路由记录的名称。
$route.redirectedFrom.meta:PublicMember<NonNullable<(NonNullable<AsamAvatarExpose["$route"]>)["redirectedFrom"]>, "meta">— 依赖声明全部匹配路由记录合并后的 meta 属性。
$route.redirectedFrom.params:PublicMember<NonNullable<(NonNullable<AsamAvatarExpose["$route"]>)["redirectedFrom"]>, "params">— 依赖声明从 path 提取并解码后的参数对象。
$route.redirectedFrom.path:string— 依赖声明URL 中经过百分号编码的路径部分。
$route.redirectedFrom.replace:boolean | undefined— 依赖声明替换当前历史记录,而不是添加新记录。
枚举:
false/true$route.redirectedFrom.force:boolean | undefined— 依赖声明即使目标与当前位置相同,也触发导航;除非传入 replace: true,否则会添加一条历史记录。
枚举:
false/true$route.redirectedFrom.state:PublicMember<NonNullable<(NonNullable<AsamAvatarExpose["$route"]>)["redirectedFrom"]>, "state">— 依赖声明通过 History API 保存的状态;不能包含响应式值,也不允许 Symbol 等部分值。详情参见 https://developer.mozilla.org/zh-CN/docs/Web/API/History/state。
$route.meta:(NonNullable<AsamAvatarExpose["$route"]>)["meta"]— 依赖声明全部匹配路由记录合并后的 meta 属性。
$route.params:(NonNullable<AsamAvatarExpose["$route"]>)["params"]— 依赖声明从 path 提取并解码后的参数对象。
$route.path:string— 依赖声明URL 中经过百分号编码的路径部分。
$router
必填:是;声明来源:依赖声明。
$router 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
$router.options:(NonNullable<AsamAvatarExpose["$router"]>)["options"]— 依赖声明创建路由器时传入的原始配置对象。
$router.options.routes:(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["routes"]— 依赖声明需要添加到路由器的初始路由列表。
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$router.options.history:(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["history"]— 依赖声明路由器使用的历史记录实现。通常使用 createWebHistory,并配置服务器回退;createWebHashHistory 无需服务器配置,但搜索引擎无法处理其哈希路由,影响搜索优化。
$router.options.history.base:string— 依赖声明添加到每个 URL 前的基础路径;例如 base 为 /sub-folder 时,可将单页应用部署在域名的对应子目录。
嵌套展开边界:深度上限;完整类型见公开类型视图。
$router.options.history.location:string— 依赖声明当前历史记录位置。
嵌套展开边界:深度上限;完整类型见公开类型视图。
$router.options.history.state:(NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["history"]>)["state"]— 依赖声明当前历史记录状态。
嵌套展开边界:深度上限;完整类型见公开类型视图。
$router.options.history.push:(NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["history"]>)["push"]— 依赖声明导航到指定位置;使用 HTML5 History 时,通过 history.pushState 实际更新 URL。
事件参数:
(to: string, data?: Parameters<Extract<NonNullable<(NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["history"]>)["push"]>, (...args: never[]) => unknown>>[1]): void嵌套展开边界:深度上限;完整类型见公开类型视图。
$router.options.history.replace:(NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["history"]>)["replace"]— 依赖声明与 RouterHistory.push 类似,但调用 history.replaceState,而非 history.pushState。
事件参数:
(to: string, data?: Parameters<Extract<NonNullable<(NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["history"]>)["replace"]>, (...args: never[]) => unknown>>[1]): void嵌套展开边界:深度上限;完整类型见公开类型视图。
$router.options.history.go:(delta: number, triggerListeners?: boolean) => void— 依赖声明按指定方向遍历历史记录。
事件参数:
(delta: number, triggerListeners?: boolean | undefined): void嵌套展开边界:深度上限;完整类型见公开类型视图。
$router.options.history.listen:(NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["history"]>)["listen"]— 依赖声明为历史记录实现添加监听器;由浏览器前进、后退等外部导航,或传入 true 的 RouterHistory.back、RouterHistory.forward 触发。
事件参数:
(callback: Parameters<Extract<NonNullable<(NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["history"]>)["listen"]>, (...args: never[]) => unknown>>[0]): () => void嵌套展开边界:深度上限;完整类型见公开类型视图。
$router.options.history.createHref:(location: AsamAvatarExpose["src"]) => string— 依赖声明生成用于链接元素的对应 href。
事件参数:
(location: string): string嵌套展开边界:深度上限;完整类型见公开类型视图。
$router.options.history.destroy:() => void— 依赖声明清除历史记录实现注册的全部事件监听器。
事件参数:
(): void嵌套展开边界:深度上限;完整类型见公开类型视图。
$router.options.scrollBehavior:(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["scrollBehavior"]— 依赖声明控制页面导航时滚动行为的函数;可返回 Promise 延迟滚动。
事件参数:
(to: Parameters<Extract<NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["scrollBehavior"]>, (...args: never[]) => unknown>>[0], from: AsamAvatarExpose["$route"], savedPosition: Parameters<Extract<NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["scrollBehavior"]>, (...args: never[]) => unknown>>[2]): ReturnType<Extract<NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["scrollBehavior"]>, (...args: never[]) => unknown>>$router.options.parseQuery:(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["parseQuery"]— 依赖声明自定义查询参数解析函数;与 EXPERIMENTAL_RouterOptions_Base.stringifyQuery 配套。
事件参数:
(search: string): ReturnType<Extract<NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["parseQuery"]>, (...args: never[]) => unknown>>$router.options.stringifyQuery:(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["stringifyQuery"]— 依赖声明自定义查询对象序列化函数;不要添加开头的 ?,与 parseQuery 的解析函数配套。
事件参数:
(query: Parameters<Extract<NonNullable<(NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["options"]>)["stringifyQuery"]>, (...args: never[]) => unknown>>[0]): string$router.options.linkActiveClass:string | undefined— 依赖声明应用于激活 RouterLink 的默认类名;未指定时使用 router-link-active。
$router.options.linkExactActiveClass:string | undefined— 依赖声明应用于精确激活 RouterLink 的默认类名;未指定时使用 router-link-exact-active。
$router.options.end:boolean | undefined— 依赖声明是否在表达式末尾添加 $,使其匹配到路径结尾。
声明默认:
`true`(注释,实际运行默认以源码/安装包为准)枚举:
false/true$router.options.sensitive:boolean | undefined— 依赖声明使正则表达式区分大小写。
声明默认:
`false`(注释,实际运行默认以源码/安装包为准)枚举:
false/true$router.options.strict:boolean | undefined— 依赖声明是否禁止路径末尾的斜杠。
声明默认:
`false`(注释,实际运行默认以源码/安装包为准)枚举:
false/true
$router.addRoute:(NonNullable<AsamAvatarExpose["$router"]>)["addRoute"]— 依赖声明向已有路由添加子路由,或向路由器添加新的 RouteRecordRaw 路由记录。
事件参数完整签名见公开类型视图。
事件参数完整签名见公开类型视图。
$router.removeRoute:(NonNullable<AsamAvatarExpose["$router"]>)["removeRoute"]— 依赖声明按名称移除已有路由。
事件参数:
(name: Parameters<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["removeRoute"]>, (...args: never[]) => unknown>>[0]): void$router.clearRoutes:() => void— 依赖声明从路由器中删除全部路由。
事件参数:
(): void$router.currentRoute:ShallowRef<AsamAvatarExpose["$route"]>— 依赖声明当前 RouteLocationNormalized。
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
$router.listening:boolean— 依赖声明允许关闭历史事件监听,这是用于微前端的底层 API。
枚举:
false/true$router.hasRoute:(NonNullable<AsamAvatarExpose["$router"]>)["hasRoute"]— 依赖声明检查指定名称的路由是否存在。
事件参数:
(name: Parameters<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["hasRoute"]>, (...args: never[]) => unknown>>[0]): boolean$router.getRoutes:(NonNullable<AsamAvatarExpose["$router"]>)["getRoutes"]— 依赖声明获取全部 RouteRecord 路由记录的完整列表。
事件参数:
(): ReturnType<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["getRoutes"]>, (...args: never[]) => unknown>>$router.resolve:(NonNullable<AsamAvatarExpose["$router"]>)["resolve"]— 依赖声明返回 RouteLocationRaw 的规范化位置,包含带基础路径的 href;默认使用 router.currentRoute 作为 currentLocation,仅在高级场景中覆盖。
事件参数完整签名见公开类型视图。
事件参数完整签名见公开类型视图。
$router.push:(NonNullable<AsamAvatarExpose["$router"]>)["push"]— 依赖声明通过向历史栈添加记录,以编程方式导航到新 URL。
事件参数:
(to: Parameters<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["push"]>, (...args: never[]) => unknown>>[0]): ReturnType<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["push"]>, (...args: never[]) => unknown>>$router.replace:(NonNullable<AsamAvatarExpose["$router"]>)["replace"]— 依赖声明通过替换历史栈中的当前记录,以编程方式导航到新 URL。
事件参数:
(to: Parameters<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["replace"]>, (...args: never[]) => unknown>>[0]): ReturnType<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["replace"]>, (...args: never[]) => unknown>>$router.back:() => void— 依赖声明通过 history.back() 在可用时后退,等价于 router.go(-1)。
事件参数:
(): void$router.forward:() => void— 依赖声明通过 history.forward() 在可用时前进,等价于 router.go(1)。
事件参数:
(): void$router.go:(delta: number) => void— 依赖声明通过调用 history.go() 在历史记录中前进或后退。
事件参数:
(delta: number): void$router.beforeEach:(NonNullable<AsamAvatarExpose["$router"]>)["beforeEach"]— 依赖声明添加每次导航之前执行的守卫,并返回移除此守卫的函数。
事件参数:
(guard: Parameters<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["beforeEach"]>, (...args: never[]) => unknown>>[0]): () => void$router.beforeResolve:(NonNullable<AsamAvatarExpose["$router"]>)["beforeResolve"]— 依赖声明添加导航确认之前执行的守卫,此时组件已获取且其他导航守卫已通过;返回移除此守卫的函数。
事件参数:
(guard: Parameters<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["beforeResolve"]>, (...args: never[]) => unknown>>[0]): () => void$router.afterEach:(NonNullable<AsamAvatarExpose["$router"]>)["afterEach"]— 依赖声明添加每次导航结束后执行的钩子,并返回移除此钩子的函数。
事件参数:
(guard: Parameters<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["afterEach"]>, (...args: never[]) => unknown>>[0]): () => void$router.onError:(NonNullable<AsamAvatarExpose["$router"]>)["onError"]— 依赖声明添加导航期间未捕获错误的处理函数,涵盖同步和异步异常、守卫返回或传给 next 的错误,以及路由异步组件解析错误。
事件参数:
(handler: Parameters<Extract<NonNullable<(NonNullable<AsamAvatarExpose["$router"]>)["onError"]>, (...args: never[]) => unknown>>[0]): () => void$router.isReady:() => Promise<void>— 依赖声明返回在初次导航完成后兑现的 Promise,此时关联的异步进入钩子与异步组件均已解析;导航已完成时立即兑现。可用于保持服务端与客户端渲染一致;服务端需手动推入初始位置,客户端从 URL 自动读取。
事件参数:
(): Promise<void>$router.install:(app: App) => void— 依赖声明由 app.use(router) 自动调用,用户不应手动调用;客户端调用时会触发初次导航。
事件参数:
(app: App<any>): void
AsamAvatarInstance 公开类型视图
import type { ComponentPublicInstance, ComponentOptionsBase, ComponentProvideOptions, ComponentOptionsMixin, GlobalComponents, GlobalDirectives, WatchOptions, WatchStopHandle, ShallowRef, App } from 'vue';
import type { AsamAvatarInstance, AsamAvatarExpose, AsamTableColumnExpose, AsamAvatarProps, AsamAvatarSlots, AsamAvatarGroupExpose } from '@asam-ui/ui';
type PublicMember<T, K extends PropertyKey> = T extends unknown ? K extends keyof T ? T[K] : never : never;
// AsamAvatarInstance
type PublicContract = {
"$": AsamAvatarExpose["$"];
"$data": AsamTableColumnExpose;
"$props": AsamAvatarProps;
"$attrs": AsamAvatarExpose["$attrs"];
"$refs": AsamAvatarExpose["$refs"];
"$slots": AsamAvatarSlots;
"$root": ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null;
"$parent": ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null;
"$host": Element | null;
"$emit": (event: "error", evt: Event) => void;
"$el": any;
"$options": (AsamAvatarInstance)["$options"];
"$forceUpdate": () => void;
"$nextTick": (AsamAvatarInstance)["$nextTick"];
"$watch": (AsamAvatarInstance)["$watch"];
readonly "src": string;
readonly "fit": (AsamAvatarInstance)["fit"];
readonly "size"?: number | "" | "large" | "default" | "small" | undefined;
readonly "shape"?: "circle" | "square" | undefined;
readonly "icon"?: (AsamAvatarInstance)["icon"];
readonly "alt"?: string | undefined;
readonly "srcSet"?: string | undefined;
readonly "onError"?: ((evt: Event) => any) | undefined;
"$route": AsamAvatarExpose["$route"];
"$router": AsamAvatarExpose["$router"];
};
作用域插槽保留上游实例契约。
参数与事件说明
default
必填:否;声明来源:上游声明。
default 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(props: AsamTableColumnExpose): any
AsamAvatarSlots 公开类型视图
import type { AsamAvatarSlots, AsamAvatarExpose, AsamTableColumnExpose } from '@asam-ui/ui';
// AsamAvatarSlots
type PublicContract = {
"default"?: (AsamAvatarSlots)["default"];
readonly [key: string]: import("vue").Slot<any> | undefined;
};
参数与事件说明
error
必填:是;声明来源:上游声明。
error 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(evt: Event): boolean
AsamAvatarEmits 公开类型视图
import type { AsamAvatarEmits } from '@asam-ui/ui';
// AsamAvatarEmits
type PublicContract = {
"error": (evt: Event) => boolean;
};
参数与事件说明
size
必填:否;声明来源:上游声明。
size 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:"" / "large" / "default" / "small"
默认值与来源
未知 / 未声明固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)
shape
必填:否;声明来源:上游声明。
shape 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:"circle" / "square"
默认值与来源
未知 / 未声明固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)
AsamAvatarGroupContext 公开类型视图
import type { AsamAvatarGroupContext, AsamAvatarProps } from '@asam-ui/ui';
// AsamAvatarGroupContext
type PublicContract = {
"size"?: number | "" | "large" | "default" | "small" | undefined;
"shape"?: "circle" | "square" | undefined;
};
参数与事件说明
effect
必填:否;声明来源:上游声明。
effect 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:"light" / "dark"
默认值与来源
未知 / 未声明固定上游源码默认表达式:'light'(2.14.7;源码事实,未作为 ASAM 运行实测)
popperClass
必填:否;声明来源:上游声明。
popperClass 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:false
popperStyle
必填:否;声明来源:上游声明。
popperStyle 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:false
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
placement
必填:否;声明来源:上游声明。
placement 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:"auto" / "auto-start" / "auto-end" / "top" / "bottom" / "right" / "left" / "top-start" / "top-end" / "bottom-start" / "bottom-end" / "right-start" / "right-end" / "left-start" / "left-end"
默认值与来源
未知 / 未声明固定上游源码默认表达式:'top'(2.14.7;源码事实,未作为 ASAM 运行实测)
size
必填:否;声明来源:上游声明。
size 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:"" / "large" / "default" / "small"
默认值与来源
未知 / 未声明固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)
shape
必填:否;声明来源:上游声明。
shape 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:"circle" / "square"
默认值与来源
未知 / 未声明固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)
collapseAvatars
必填:否;声明来源:上游声明。
collapseAvatars 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:false / true
collapseAvatarsTooltip
必填:否;声明来源:上游声明。
collapseAvatarsTooltip 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:false / true
maxCollapseAvatars
必填:否;声明来源:上游声明。
默认值与来源
未知 / 未声明固定上游源码默认表达式:1(2.14.7;源码事实,未作为 ASAM 运行实测)
collapseClass
必填:否;声明来源:上游声明。
collapseClass 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:false
默认值与来源
未知 / 未声明固定上游源码默认表达式:undefined(2.14.7;源码事实,未作为 ASAM 运行实测)
collapseStyle
必填:否;声明来源:上游声明。
collapseStyle 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:false
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
默认值与来源
未知 / 未声明固定上游源码默认表达式:undefined(2.14.7;源码事实,未作为 ASAM 运行实测)
AsamAvatarGroupPropsPublic 公开类型视图
import type { AsamAvatarGroupPropsPublic, AsamAvatarGroupExpose, AsamAvatarGroupProps, AsamAvatarProps } from '@asam-ui/ui';
// AsamAvatarGroupPropsPublic
type PublicContract = {
readonly "effect"?: AsamAvatarGroupExpose["effect"] | undefined;
readonly "popperClass"?: AsamAvatarGroupProps["popperClass"];
readonly "popperStyle"?: (AsamAvatarGroupPropsPublic)["popperStyle"];
readonly "placement"?: AsamAvatarGroupExpose["placement"] | undefined;
readonly "size"?: number | "" | "large" | "default" | "small" | undefined;
readonly "shape"?: "circle" | "square" | undefined;
readonly "collapseAvatars"?: boolean | undefined;
readonly "collapseAvatarsTooltip"?: boolean | undefined;
readonly "maxCollapseAvatars"?: number | undefined;
readonly "collapseClass"?: AsamAvatarGroupProps["popperClass"];
readonly "collapseStyle"?: (AsamAvatarGroupPropsPublic)["collapseStyle"];
};
参数与事件说明
size
必填:否;声明来源:上游声明。
size 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:"" / "large" / "default" / "small"
默认值与来源
未知 / 未声明固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)
fit
必填:否;声明来源:上游声明。
fit 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:"fill" / "-moz-initial" / "inherit" / "initial" / "revert" / "revert-layer" / "unset" / "contain" / "cover" / "none" / "scale-down"
嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。
默认值与来源
未知 / 未声明固定上游源码默认表达式:'cover'(2.14.7;源码事实,未作为 ASAM 运行实测)
shape
必填:否;声明来源:上游声明。
shape 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
枚举:"circle" / "square"
默认值与来源
未知 / 未声明固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)
icon
必填:否;声明来源:上游声明。
icon 参数与事件数据
下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。
事件参数:(props: any, ctx: Parameters<Extract<NonNullable<(AsamAvatarPropsPublic)["icon"]>, (...args: never[]) => unknown>>[1]): any
icon.__isFragment:undefined— 依赖声明icon.__isTeleport:undefined— 依赖声明icon.__isSuspense:undefined— 依赖声明
默认值与来源
未知 / 未声明固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)
src
必填:否;声明来源:上游声明。
默认值与来源
未知 / 未声明固定上游源码默认表达式:''(2.14.7;源码事实,未作为 ASAM 运行实测)
alt
必填:否;声明来源:上游声明。
srcSet
必填:否;声明来源:上游声明。
AsamAvatarPropsPublic 公开类型视图
import type { AsamAvatarPropsPublic, AsamAvatarExpose, AsamAvatarProps } from '@asam-ui/ui';
type PublicMember<T, K extends PropertyKey> = T extends unknown ? K extends keyof T ? T[K] : never : never;
// AsamAvatarPropsPublic
type PublicContract = {
readonly "size"?: (AsamAvatarPropsPublic)["size"];
readonly "fit"?: (AsamAvatarPropsPublic)["fit"];
readonly "shape"?: (AsamAvatarPropsPublic)["shape"];
readonly "icon"?: (AsamAvatarPropsPublic)["icon"];
readonly "src"?: string | undefined;
readonly "alt"?: string | undefined;
readonly "srcSet"?: string | undefined;
};