数据表格

未匹配的标注
本文档最新版为 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 网站上。

上一篇 下一篇
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 3
发起讨论 查看所有版本


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