目录
▸
入门
简介
安装
1.x升级指南
版本升级
快速开始
开发前必读
主题与颜色
静态资源
视图与自定义页面
多应用(多后台)
JS组件
常见问题
Laravel Octane
▸
数据表格
基本使用
列的使用和扩展
列的显示和扩展
行的使用和扩展
工具栏
树状表格
组合表头
数据来源以及查询条件
关联关系
查询过滤
列过滤器
快捷搜索
规格筛选器
数据导出
快捷创建
行内编辑
事件
字段翻译
数据软删除
头部和脚部
表格异步渲染
▸
数据表单
基本使用
图片/文件上传
字段的使用
字段扩展
数据源
表单弹窗
关联关系
JSON表单
分步表单
表单验证
工具表单
事件以及表单响应
初始化
表单布局
字段翻译
字段动态显示
▸
数据详情
基本使用
字段显示
关联关系
字段显示扩展
初始化
字段翻译
▸
模型树
基本使用
▸
数据仓库
基本使用
▸
动作
基本使用
数据表格
数据表单
数据详情
模型树
▸
多语言
基本使用
▸
开发扩展
扩展基本使用
开发扩展
▸
页面组件
异步加载
图表
数据统计卡片
模态窗(Modal)
工具表单
下拉菜单
单/复选框
选项卡
警告框
提示窗
Markdown
卡片
▸
区块
区块基本使用
▸
动作以及表单响应
动作以及表单响应
▸
权限控制
权限控制
▸
菜单
菜单基本使用
▸
帮助函数
帮助函数
▸
开发工具
基本使用
▸
自定义登陆认证
自定义登录
▸
自定义头部导航
自定义头部导航条
▸
更新日志
BETA版本更新日志
更新日志
内容导航
1.x
2.x
事件
创建时间:2024-06-26 11:04:36 / 更新时间:2024-06-26 11:04:36
# 数据表格事件 ### 初始化 通过 `Grid::resolving` 方法可以监听表格初始化事件。 开发者可以在这两个事件中改变 `Grid` 的一些设置或行为,比如需要禁用掉某些操作,可以在 `app/Admin/bootstrap.php` 加入下面的代码: ```php use Dcat\Admin\Grid; Grid::resolving(function (Grid $grid) { $grid->disableActions(); $grid->disablePagination(); $grid->disableCreateButton(); $grid->disableFilter(); $grid->disableRowSelector(); $grid->disableToolbar(); }); // 只需要监听一次 Grid::resolving(function (Grid $grid) { ... }, true); ``` 这样就不用在每一个控制器的代码中来设置了。 如果全局设置后,要在其中某一个表格中开启设置,比如开启显示操作列,在对应的实例上调用 `$grid->disableActions(false);` 就可以了 ### 构建 通过 `Grid::composing` 方法可以监听表格被调用事件。 ```php Grid::composing(function (Grid $grid) { ... }); // 只需要监听一次 Grid::composing(function (Grid $grid) { ... }, true); ``` ### Fetching 监听表格获取数据之前事件,此事件在 `composing` 事件之后触发。 ```php $grid->listen(Grid\Events\Fetching::class, function ($grid) { }); // 可以在 composing 事件中使用 Grid::composing(function (Grid $grid) { $grid->listen(Grid\Events\Fetching::class, function ($grid) { }); }); ``` ### Fetched 监听表格获取数据之后事件,通过监听此事件可以批量修改数据, 参考下面实例 ```php $grid->listen(Grid\Events\Fetched::class, function ($grid, Collection $rows) { // $collection 当前这一个表格数据的模型集合, 你可以根据你的需要来读取或者修改它的数据。 $rows->transform(function ($row) { // 更改行数据 $row['name'] = $row['first_name'].' '.$row['last_name']; return $row; }); }); ``` ### ApplyFilter 监听表格过滤器搜索事件,此事件只有在过滤器有搜索条件时才会触发 ```php $grid->listen(Grid\Events\ApplyFilter::class, function ($grid, array $conditions) { // $conditions 当前过滤器生成的搜索条件数组 dd('表格过滤器', $conditions); }); ``` ### ApplyQuickSearch 监听表格快捷搜索事件,此事件只有在快捷搜索输入框有值时才会触发 ```php $grid->listen(Grid\Events\ApplyQuickSearch::class, function ($grid, $input) { // $input 搜索关键字 dd('表格快捷搜索', $input); }); ``` ### ApplySelector 监听表格规格筛选器事件,此事件只有在规格筛选器选中选项时才会触发 ```php $grid->listen(Grid\Events\ApplySelector::class, function ($grid, array $input) { // $input 筛选器选中的选项数组 dd('表格规格筛选器', $input); }); ``` ### rows回调 通过 `Grid::rows` 方法可以监听表格获取数据之后事件。 ```php use Dcat\Admin\Grid\Row; use Illuminate\Support\Collection; $grid->rows(function (Collection $rows) { /** * 获取第一行数据 * * @var Row $firstRow */ $firstRow = $rows->first(); // 设置 tr html属性 $firstRow->setAttributes(['name' => '....']); if ($firstRow) { // 获取第一行的 id $id = $firstRow->id; // 转化为数组 $row = $firstRow->toArray(); } }); ```
上一文章
下一文章
返回顶部
返回主页
返回文档展示页