数据表格

未匹配的标注
本文档最新版为 2.x,旧版本可能放弃维护,推荐阅读最新版!

数据表格动作

表格动作基类 (GridAction)

所有数据表格相关的动作类,包括工具栏按钮(AbstractTool)、
行操作(RowAction)、批量操作(BatchAction)
等等操作按钮的基类都继承自Dcat\Admin\Grid\GridAction类,而GridAction则继承自动作类基类(Action)。

下面将介绍GridAction类中增加的方法或属性

表格实例 (parent)

通过 parent 属性可以获取到表格实例 (Dcat\Admin\Grid)。

下面简单的演示下用法,这段代码没有任何实际意义

use Dcat\Admin\Grid\GridAction

class MyAction extend GridAction
{
    public function html()
    {
        $gridName = $this->parent->getName();

        return ...;
    }

    ...
}

表格页面地址 (resource)

通过 resource 方法可以获取到表格页面的地址。

下面简单的演示下用法,这段代码没有任何实际意义

use Dcat\Admin\Grid\GridAction

class 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\AbstractTool

class 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\BatchAction

class MyBatchAction extend 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 extend RowAction
{
    public function html()
    {
        // 获取当前行的字段值
        $username = $this->row->username;

        // 转化为数组
        $rowArray = $this->row->toArray();

        return ...;
    }

    ...
}

主键值 (getKey)

通过 getKey 属性方法可以获取到当前行数据的主键值(ID)。

下面简单的演示下用法,这段代码没有任何实际意义

use Dcat\Admin\Grid\RowAction

class MyRowAction extend RowAction
{
    public function html()
    {
        $id = $this->getKey();

        return ...;
    }

    ...
}

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3
发起讨论 查看所有版本


dignfei
bug:使用actionScript,handle无法获取选中项目
0 个点赞 | 4 个回复 | 问答 | 课程版本 1.x
dignfei
示例有bug:使用actionScript没反应
0 个点赞 | 1 个回复 | 问答 | 课程版本 1.x
dignfei
缺失实例:如何在表格中添加批量操作
0 个点赞 | 1 个回复 | 分享 | 课程版本 1.x