目录
▸
入门
简介
安装
1.x升级指南
版本升级
快速开始
开发前必读
主题与颜色
静态资源
视图与自定义页面
多应用(多后台)
JS组件
常见问题
Laravel Octane
▸
数据表格
基本使用
列的使用和扩展
列的显示和扩展
行的使用和扩展
工具栏
树状表格
组合表头
数据来源以及查询条件
关联关系
查询过滤
列过滤器
快捷搜索
规格筛选器
数据导出
快捷创建
行内编辑
事件
字段翻译
数据软删除
头部和脚部
表格异步渲染
▸
数据表单
基本使用
图片/文件上传
字段的使用
字段扩展
数据源
表单弹窗
关联关系
JSON表单
分步表单
表单验证
工具表单
事件以及表单响应
初始化
表单布局
字段翻译
字段动态显示
▸
数据详情
基本使用
字段显示
关联关系
字段显示扩展
初始化
字段翻译
▸
模型树
基本使用
▸
数据仓库
基本使用
▸
动作
基本使用
数据表格
数据表单
数据详情
模型树
▸
多语言
基本使用
▸
开发扩展
扩展基本使用
开发扩展
▸
页面组件
异步加载
图表
数据统计卡片
模态窗(Modal)
工具表单
下拉菜单
单/复选框
选项卡
警告框
提示窗
Markdown
卡片
▸
区块
区块基本使用
▸
动作以及表单响应
动作以及表单响应
▸
权限控制
权限控制
▸
菜单
菜单基本使用
▸
帮助函数
帮助函数
▸
开发工具
基本使用
▸
自定义登陆认证
自定义登录
▸
自定义头部导航
自定义头部导航条
▸
更新日志
BETA版本更新日志
更新日志
内容导航
1.x
2.x
头部和脚部
创建时间:2024-06-26 11:08:03 / 更新时间:2024-06-26 11:08:03
# 头部和脚部 数据表格支持往头部和脚部两个区块填入你想要的内容 ```php $grid->header(function ($collection) { return 'header'; }); $grid->footer(function ($collection) { return 'footer'; }); ``` 其中闭包函数的参数`$collection`为`Illuminate\Support\Collection`类实例,是当前页表格数据,下面是两个不同场景的使用举例 ## 头部 ```php $grid->header(function ($collection) use ($grid) { $query = Model::query(); // 拿到表格筛选 where 条件数组进行遍历 $grid->model()->getQueries()->unique()->each(function ($value) use (&$query) { if (in_array($value['method'], ['paginate', 'get', 'orderBy', 'orderByDesc'], true)) { return; } $query = call_user_func_array([$query, $value['method']], $value['arguments'] ?? []); }); // 查出统计数据 $data = $query->get(); // 自定义组件 return new Card($data); }); ``` 自定义头部展示的组件实现 ```php <?php use Illuminate\Contracts\Support\Renderable; use Dcat\Admin\Admin; class Card implements Renderable { public static $js = [ 'xxx/js/card.min.js', ]; public static $css = [ 'xxx/css/card.min.css', ]; protected $data; public function __construct($data) { $this->data = $data; } public function script() { return <<<JS console.log('所有JS脚本都加载完了'); $('xxx').card(); JS; } public function render() { // 在这里可以引入你的js或css文件 Admin::js(static::$js); Admin::css(static::$css); // 需要在页面执行的JS代码 // 通过 Admin::script 设置的JS代码会自动在所有JS脚本都加载完毕后执行 Admin::script($this->script()); return view('...', ['data' => $this->data])->render(); } } ``` ## 脚部 一个比较常见的场景是在数据表格的脚部显示统计信息,比如在订单表格的脚部加入收入统计,可以参考下面的代码实现: ```php $grid->footer(function ($collection) use ($grid) { $query = Model::query(); // 拿到表格筛选 where 条件数组进行遍历 $grid->model()->getQueries()->unique()->each(function ($value) use (&$query) { if (in_array($value['method'], ['paginate', 'get', 'orderBy', 'orderByDesc'], true)) { return; } $query = call_user_func_array([$query, $value['method']], $value['arguments'] ?? []); }); // 查出统计数据 $data = $query->get(); return "<div style='padding: 10px;'>总收入 : $data</div>"; }); ``` 如果有比较复杂的脚部需要显示,也可以使用视图对象或者封装成一个类来实现。
上一文章
下一文章
返回顶部
返回主页
返回文档展示页