数据表格
数据表格动作
表格动作基类 (GridAction)
所有数据表格相关的动作类,包括工具栏按钮(AbstractTool)、
行操作(RowAction)、批量操作(BatchAction)
等等操作按钮的基类都继承自Dcat\Admin\Grid\GridAction类,而GridAction则继承自动作类基类(Action)。
下面将介绍GridAction类中增加的方法或属性
表格实例 (parent)
通过 parent 属性可以获取到表格实例 (Dcat\Admin\Grid)。
下面简单的演示下用法,这段代码没有任何实际意义
use Dcat\Admin\Grid\GridAction
class MyAction extends GridAction
{
public function html()
{
$gridName = $this->parent->getName();
return ...;
}
...
}
表格页面地址 (resource)
通过 resource 方法可以获取到表格页面的地址。
下面简单的演示下用法,这段代码没有任何实际意义
use Dcat\Admin\Grid\GridAction
class MyAction extends 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\AbstractTool
class MyTool extends AbstractTool
{
protected $style = 'btn btn-outline-primary waves-effect';
...
}
批量操作基类 (BatchAction)
表格工具栏按钮基类(Dcat\Admin\Grid\Tools\BatchAction)继承自GridAction类。
下面将介绍BatchAction类中增加的方法或属性
获取选中行的主键数组 (getSelectedKeysScript)
通过 getSelectedKeysScript 方法可以生成获取选中的行的主键数组的JS代码。
下面简单的演示下用法
use Dcat\Admin\Grid\BatchAction
class MyBatchAction extends BatchAction
{
/**
* {@inheritdoc}
*/
public function actionScript()
{
$warning = __('No data selected!');
return <<<JS
var 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\RowAction
class MyRowAction extends RowAction
{
public function html()
{
// 获取当前行的字段值
$username = $this->row->username;
// 转化为数组
$rowArray = $this->row->toArray();
return ...;
}
...
}
主键值 (getKey)
通过 getKey 属性方法可以获取到当前行数据的主键值(ID)。
下面简单的演示下用法,这段代码没有任何实际意义
use Dcat\Admin\Grid\RowAction
class MyRowAction extends RowAction
{
public function html()
{
$id = $this->getKey();
return ...;
}
...
}
Dcat Admin 中文文档
关于 LearnKu
推荐文章: