卡片组件

简介

卡片组件用于在表格列中以卡片形式展示复杂内容,支持标题、副标题、图片等多种内容组合。

用法示例

基础用法

use plugin\xbCode\builder\Builder;

// 创建表格
Builder::crud(function($builder) {
  // 添加卡片列(必须指定fields参数)
  $builder->addColumnCard('info', '信息', [
    'title' => 'name',  // 必填:卡片标题字段
    'subTitle' => 'desc', // 可选:副标题字段
    'image' => 'avatar' // 可选:图片字段
  ]);
});

完整配置

Builder::crud(function($builder) {
  // 带完整配置的卡片
  $builder->addColumnCard('product_info', '产品信息', 
    [
      'title' => 'product_name',
      'subTitle' => 'product_desc',
      'image' => 'product_image'
    ],
    function($component) {
      $component->width(300);
      $component->className('custom-card');
    }
  );
  
  // 使用数组方式配置
  $builder->addColumnCard('user_info', '用户卡片',
    [
      'title' => 'username',
      'subTitle' => 'email',
      'image' => 'avatar'
    ],
    [
      'width' => 250,
      'className' => 'user-card'
    ]
  );
});

组件参数

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

卡片字段配置(fields)

字段名类型必填说明
titlestring卡片标题对应的数据字段名
subTitlestring卡片副标题对应的数据字段名
imagestring卡片图片对应的数据字段名

卡片组件属性

属性名类型默认值说明
classNamestring-外层组件的类名
hrefstring-外部链接地址
headerarray-卡片头部内容设置(自动生成)
bodyarray-内容容器,主要用来放置非表单项组件
actionsarray-按钮集合
actionsCountint-按钮集合每行个数
itemActionarray-点击卡片的行为
mediaarray-多媒体部分内容设置
secondarystring-次要说明
toolbararray-工具栏按钮
draggingbool-是否显示拖拽图标
selectablebool-卡片是否可选
checkablebool-卡片选择按钮是否禁用
selectedbool-卡片选择按钮是否选中
hideCheckTogglerbool-卡片选择按钮是否隐藏
multiplebool-卡片是否为多选
useCardLabelbool-卡片内容区的表单项 label 是否使用 Card 内部的样式

使用场景

  • 产品信息展示
  • 用户资料卡片
  • 文章列表展示
  • 商品详情预览

注意事项

  1. fields 参数中的 title 字段是必填的
  2. 图片和副标题是可选的,根据需要配置
  3. 卡片会自动设置缩略图样式类 'thumb-sm'
  4. 支持动态数据绑定,使用 <%= this.字段名 %> 格式
  5. 图片字段使用 ${字段名|raw} 格式进行数据绑定