头像组件

简介

头像组件用于在表格列中展示用户头像或图标,支持多种形状和尺寸配置。

用法示例

基础用法

use plugin\xbCode\builder\Builder;

// 创建表格
Builder::crud(function($builder) {
  // 添加头像列
  $builder->addColumnAvatar('avatar', '头像');
});

自定义配置

Builder::crud(function($builder) {
  // 使用回调函数自定义配置
  $builder->addColumnAvatar('avatar', '用户头像', function($component) {
    $component->shape('circle'); // 圆形头像
    $component->size('large'); // 大尺寸
    $component->icon('fa fa-user'); // 默认图标
  });
  
  // 使用数组方式配置
  $builder->addColumnAvatar('user_avatar', '头像', [
    'shape' => 'rounded',
    'size' => 'default',
    'defaultAvatar' => 'https://example.com/default.jpg'
  ]);
});

文字头像

Builder::crud(function($builder) {
  $builder->addColumnAvatar('username', '用户', function($component) {
    $component->text('${username}'); // 显示用户名首字母
    $component->shape('circle');
  });
});

组件参数

参数名类型默认值说明
namestring必填字段名称,对应数据库字段
labelstring必填列标题,显示在表格头部
optioncallable|array[]配置选项,可以是回调函数或数组

头像组件属性

属性名类型默认值说明
classNamestring-外层 Dom 的类名
stylearray-外层 Dom 的样式
fitstring-图片适应方式,参考 MDN 文档
srcstring-图片地址
widthint|string30图片宽度(默认30px)
heightint|string-图片高度
defaultAvatarstring-占位图
textstring-文字内容(用于文字头像)
iconstring-图标类名
shapestring-形状:'circle'(圆形)、'square'(正方形)、'rounded'(圆角)
sizestringsmall尺寸:'default'(48px)、'normal'(40px)、'small'(32px)
gapstring-控制字符类型距离左右两侧边界单位像素
altstring-图像无法显示时的替代文本
draggablestring-图片是否允许拖动
crossOriginstring-图片的 CORS 属性设置
alignstringcenter水平对齐方式(默认居中)
vAlignstringmiddle垂直对齐方式(默认居中)

使用场景

  • 用户头像展示
  • 团队成员列表
  • 商品缩略图
  • 个人资料展示

注意事项

  1. 组件会自动设置默认尺寸为 30px
  2. 如果没有提供图片地址,会使用字段名动态绑定数据
  3. 可以使用 text 或 icon 作为图片加载失败的备选方案
  4. 支持三种形状:圆形、正方形、圆角矩形
  5. 默认居中对齐显示