数据表格动作
表格动作基类 (GridAction)
所有数据表格相关的动作类,包括工具栏按钮(AbstractTool)、
行操作(RowAction)、批量操作(BatchAction)
等等操作按钮的基类都继承自Dcat\Admin\Grid\GridAction类,而GridAction则继承自动作类基类(Action)。
下面将介绍GridAction类中增加的方法或属性
表格实例 (parent)
通过 parent 属性可以获取到表格实例 (Dcat\Admin\Grid)。
下面简单的演示下用法,这段代码没有任何实际意义
use Dcat\Admin\Grid\GridActionclass MyAction extend GridAction{public function html(){$gridName = $this->parent->getName();return ...;}...}
表格页面地址 (resource)
通过 resource 方法可以获取到表格页面的地址。
下面简单的演示下用法,这段代码没有任何实际意义
use Dcat\Admin\Grid\GridActionclass MyAction extend GridAction{public function html(){// 假如你的列表页路径为 /admin/users,则这里的值为 http://域名/admin/users$path = $this->resource();return ...;}...}
工具栏操作按钮基类 (AbstractTool)
表格工具栏按钮基类(Dcat\Admin\Grid\Tools\AbstractTool)继承自GridAction类。
下面将介绍AbstractTool类中增加的方法或属性
按钮样式 (style)
通过 style 属性可以设置工具栏按钮的类(class),默认值为 btn btn-white waves-effect。
下面简单的演示下用法
use Dcat\Admin\Grid\AbstractToolclass MyTool extend AbstractTool{protected $style = 'btn btn-outline-primary waves-effect';...}
批量操作基类 (BatchAction)
表格工具栏按钮基类(Dcat\Admin\Grid\Tools\BatchAction)继承自GridAction类。
下面将介绍BatchAction类中增加的方法或属性
获取选中行的主键数组 (getSelectedKeysScript)
通过 getSelectedKeysScript 方法可以生成获取选中的行的主键数组的JS代码。
下面简单的演示下用法
use Dcat\Admin\Grid\BatchActionclass MyBatchAction extend BatchAction{/*** {@inheritdoc}*/public function actionScript(){$warning = __('No data selected!');return <<<JSvar key = {$this->getSelectedKeysScript()}if (key.length === 0) {Dcat.warning('{$warning}');return ;}Object.assign(data, {_key:key});JS;}...}
行操作基类 (RowAction)
表格工具栏按钮基类(Dcat\Admin\Grid\Tools\RowAction)继承自GridAction类。
下面将介绍RowAction类中增加的方法或属性
行数据 (row)
通过 row 属性可以获取到当前行数据内容。
下面简单的演示下用法,这段代码没有任何实际意义
use Dcat\Admin\Grid\RowActionclass MyRowAction extend RowAction{public function html(){// 获取当前行的字段值$username = $this->row->username;// 转化为数组$rowArray = $this->row->toArray();return ...;}...}
主键值 (getKey)
通过 getKey 属性方法可以获取到当前行数据的主键值(ID)。
下面简单的演示下用法,这段代码没有任何实际意义
use Dcat\Admin\Grid\RowActionclass MyRowAction extend RowAction{public function html(){$id = $this->getKey();return ...;}...}
