简介
选项卡组件用于在表格顶部提供多个标签页切换,实现数据分类展示。
用法示例
基础用法
use plugin\xbCode\builder\Builder;
// 创建表格
Builder::crud(function($builder) {
// 使用选项卡(指定URL参数名)
$builder->useTabs('tab');
// 添加选项卡
$builder->addTab('全部', '');
$builder->addTab('进行中', 'active');
$builder->addTab('已完成', 'completed');
});
带图标的选项卡
Builder::crud(function($builder) {
$builder->useTabs('status');
// 添加带图标的选项卡
$builder->addTab('全部', '', 'fa fa-list');
$builder->addTab('待审核', 'pending', 'fa fa-clock-o');
$builder->addTab('已通过', 'approved', 'fa fa-check');
$builder->addTab('已拒绝', 'rejected', 'fa fa-times');
});
批量添加选项卡
Builder::crud(function($builder) {
$builder->useTabs('type');
// 批量添加
$builder->addTabs([
['label' => '全部', 'value' => ''],
['label' => '文章', 'value' => 'article', 'icon' => 'fa fa-file-text'],
['label' => '视频', 'value' => 'video', 'icon' => 'fa fa-video-camera'],
['label' => '图片', 'value' => 'image', 'icon' => 'fa fa-image']
]);
});
限制选项卡数量
Builder::crud(function($builder) {
// 获取选项卡实例并设置最大数量
$tabs = $builder->useTabs('category');
$tabs->count(5); // 最多显示5个选项卡
// 添加选项卡(超过5个的不会显示)
$builder->addTab('全部', '');
$builder->addTab('分类1', '1');
$builder->addTab('分类2', '2');
// ... 更多选项卡
});
可用方法
| 方法名 | 参数 | 返回值 | 说明 |
|---|
| useTabs | field | XbTabs | 启用选项卡并指定URL参数名 |
| addTab | label, value, icon | this | 添加单个选项卡 |
| addTabs | items | this | 批量添加选项卡 |
方法参数说明
useTabs
| 参数名 | 类型 | 默认值 | 说明 |
|---|
| field | string | '_tab' | URL参数名,用于标识选中的选项卡 |
addTab
| 参数名 | 类型 | 默认值 | 说明 |
|---|
| label | string | 必填 | 选项卡显示文本 |
| value | mixed | 必填 | 选项卡的值 |
| icon | string | '' | 图标类名 |
addTabs
| 参数名 | 类型 | 默认值 | 说明 |
|---|
| items | array | 必填 | 选项卡数组,每项包含 label、value、icon 等字段 |
选项卡配置
| 字段名 | 类型 | 必填 | 说明 |
|---|
| label | string | 是 | 显示文本 |
| value | mixed | 是 | 值(将作为URL参数) |
| icon | string | 否 | 图标类名 |
选项卡组件属性
| 属性名 | 类型 | 默认值 | 说明 |
|---|
| field | string | _tab | URL参数字段名 |
| count | int | - | 最大显示数量 |
| items | array | [] | 选项卡列表 |
使用场景
注意事项
- 选项卡显示在表格顶部
- 点击选项卡会自动更新URL参数并刷新数据
- 当前选中的选项卡会高亮显示
- 可以通过 count 属性限制显示数量
- 超过数量限制的选项卡不会显示
- 选项卡值为空字符串表示"全部"或不筛选
- URL参数会保留其他筛选条件