Skip to content

列的显示和扩展

列显示

display

Dcat\Admin\Grid\Column 对象内置了 display() 方法来通过传入的回调函数来处理当前列的值,

php
$table->column('title')->display(function ($title) {

    return "<span style="color:blue">$title</span>";

});

在传入的匿名函数中可以通过任何方式对数据进行处理,另外匿名函数绑定了当前列的数据作为父对象,可以在函数中调用当前行的数据:

php
$table->column('first_name');

$table->column('last_name');

// 不存在的`full_name`字段
$table->column('full_name')->display(function () {
    return $this->first_name . ' ' . $this->last_name;
});

图片

php
$table->column('picture')->image();

//设置服务器前缀和宽度,高度(宽度默认为50,高度默认为50),支持单图与多图
$table->column('picture')->image('http://xxx.com', 100, 100);

点击图片预览效果

显示 label 标签

php
$table->column('name')->label();

显示 badge 标签

php
$table->column('name')->badge();

布尔值显示 (bool)

php
$table->column('approved')->bool();

列展开 (expand)

php
$table->column("text", "text")->display(function (){
            return "查看";
        })->expand(function (){
            $header = ["参数","值"];
            $data = [
                ["参数1","值1"],
                ["参数2","值2"],
                ["参数3","值3"],
            ];
            return new Table($header,$data);
        });

弹出模态框 (modal)

php
$table->column("text", "text")->modal(function (){
            return "查看";
        });

进度条 (progressBar)

php
$table->rate->progressBar();

字符串或数组截取 (limit)

php
// 最多显示50个字符
$table->column('content')->limit(50, '...');

// 如果字段值是数组也支持
$table->tags->limit(3);

列二维码 (qrcode)

php
$table->column('content')->qrcode();

可复制 (copyable)

php
$table->column('content')->copyable();
php
// link方法不传参数时,链接的`href`和`text`都是当前列的值
$table->column('homepage')->link();