123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import { defineMixin } from '../../libs/vue'
- import defProps from '../../libs/config/props.js'
- import test from '../../libs/function/test';
- export const props = defineMixin({
- props: {
- // 头像图片路径(不能为相对路径)
- src: {
- type: String,
- default: () => defProps.avatar.src
- },
- // 头像形状,circle-圆形,square-方形
- shape: {
- type: String,
- default: () => defProps.avatar.shape
- },
- // 头像尺寸
- size: {
- type: [String, Number],
- default: () => defProps.avatar.size
- },
- // 裁剪模式
- mode: {
- type: String,
- default: () => defProps.avatar.mode
- },
- // 显示的文字
- text: {
- type: String,
- default: () => defProps.avatar.text
- },
- // 背景色
- bgColor: {
- type: String,
- default: () => defProps.avatar.bgColor
- },
- // 文字颜色
- color: {
- type: String,
- default: () => defProps.avatar.color
- },
- // 文字大小
- fontSize: {
- type: [String, Number],
- default: () => defProps.avatar.fontSize
- },
- // 显示的图标
- icon: {
- type: String,
- default: () => defProps.avatar.icon
- },
- // 显示小程序头像,只对百度,微信,QQ小程序有效
- mpAvatar: {
- type: Boolean,
- default: () => defProps.avatar.mpAvatar
- },
- // 是否使用随机背景色
- randomBgColor: {
- type: Boolean,
- default: () => defProps.avatar.randomBgColor
- },
- // 加载失败的默认头像(组件有内置默认图片)
- defaultUrl: {
- type: String,
- default: () => defProps.avatar.defaultUrl
- },
- // 如果配置了randomBgColor为true,且配置了此值,则从默认的背景色数组中取出对应索引的颜色值,取值0-19之间
- colorIndex: {
- type: [String, Number],
- // 校验参数规则,索引在0-19之间
- validator(n) {
- return test.range(n, [0, 19]) || n === ''
- },
- default: () => defProps.avatar.colorIndex
- },
- // 组件标识符
- name: {
- type: String,
- default: () => defProps.avatar.name
- }
- }
- })
|