Skip to content

n-avatar 头像 ​

用户 / 事物信息的可视化标识:个人中心、联系人列表、评论区、消息流。内容按 插槽 > 图片 > 文字 > 图标占位 四级自动回退——传了 src 渲染图片,没图时用 text 文字(一般传姓名末字或首字母),连文字都没有时显示人形图标占位。

  1. 图片加载失败时:有 errorSrc 先换备份图,备份也无 / 再失败则回落到文字 / 图标占位,同时派发 error 事件;外部换成新 src 会自动复位失败状态
  2. size 支持三档预设(small 32 / normal 40 / large 56 px)或直接传数值 px;字号与图标按盒宽 0.45 比例自动联动
  3. 上色:bgColor 指定背景色;randomBgColor 开启后按内容稳定取功能色(同一人恒同色,联系人列表滚动不跳色),colorIndex 可指定色板下标。上色后文字 / 图标自动转白,中性占位时前景为次级灰(随深浅主题)
  4. 形状 circle / square;个别自定义圆角用 custom-style="border-radius:12px" 覆盖
  5. 默认插槽内容完全接管头像内部(组件看不见插槽内容,插槽存在即优先),可用于自绘图形、徽标叠放等;头像本体是 overflow: hidden 的裁剪容器,超界内容会被裁掉

平台兼容性 ​

App H5 微信小程序 支付宝小程序 百度小程序 头条小程序 QQ小程序
√ √ √ × × × ×

API ​

属性 ​

参数 说明 类型 默认值 可选值
src 头像图片地址(网络 / 本地路径),非空时优先渲染图片 String "" -
mode 图片裁剪模式(image 原生 mode):aspectFill 短边铺满居中裁剪(头像场景不变形)、scaleToFill 拉伸铺满、widthFix 宽不变高自适应 String aspectFill aspectFit<br/>aspectFill<br/>scaleToFill<br/>widthFix 等 image 原生取值
text 文字头像内容(src 为空时生效),可传姓名末字("伟")、姓名("王小伟")或首字母缩写("ZW");字号自适应:放不下自动缩到单行放下(不换行,过长仍单行省略) String "" -
icon 图标名(n-icon):src 与 text 都为空时的内容 / 占位图形;留空回落默认人形占位 String user n-icon 名称表
shape 形状:circle 圆形 / square 方形(8px 圆角);个别自定义圆角用 custom-style="border-radius:12px" 覆盖 String circle circle<br/>square
size 尺寸:三档预设(small 32 / normal 40 / large 56 px)或数值 px;字号与图标按盒宽 0.45 比例联动 String / Number normal small<br/>normal<br/>large<br/>任意数值
bg-color 背景色;留空 = 中性占位底(随深浅主题)。设置后文字 / 图标前景自动转白 String "" 与 css 相同
color 文字 / 图标前景色;留空 = 有底色(bgColor / randomBgColor)时白字、中性占位时次级灰 String "" 与 css 相同
random-bg-color 随机功能色底:按 colorIndex 或 text / src 内容稳定取色(同一内容恒同色,联系人列表滚动不跳色);bgColor 非空时本项被忽略 Boolean false -
color-index 随机色板下标(0~4,功能色序),-1 = 按 text / src 内容自动取 Number -1 -
error-src 图片加载失败时替换的图片地址;留空 = 直接回落文字 / 图标占位 String "" -
name 业务标识:click / error 事件原样回传,列表代理处理点击时区分来源 String "" -
text-style 微调文字的行内样式,如 "font-weight:600"(页面 class 打不进组件内部) String "" 与 css 相同
custom-class 挂到根节点的额外 class(类需定义在组件样式表内) String "" -
custom-style 根节点行内样式,如 "margin-right:10px" 用于和相邻元素排间距 String "" 与 css 相同

事件 ​

事件名 说明 回调参数
click 点击头像时触发 name(业务标识原样回传)
error 图片加载失败时触发(已换 errorSrc 或回落占位内容) name(业务标识原样回传)

插槽 ​

插槽名 说明
default 完全接管头像内部内容(优先级最高);头像本体是裁剪容器,插槽内容超出画布会被裁掉

记录 · 思考 · 创作