数据表格

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

上一篇 下一篇
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 0
发起讨论 只看当前版本


暂无话题~