Skip to main content

行的使用和扩展

model-grid默认有两个行操作编辑和删除,可以通过下面的方式关闭它们:

 $grid->actions(function ($actions) {
$actions->disableDelete();
$actions->disableEdit();
$actions->disableView();
});

可以通过传入的$actions参数来获取当前行的数据:

 $grid->actions(function ($actions) {

// 当前行的数据数组
$actions->row;

// 获取当前行主键值
$actions->getKey();
});

如果有自定义的操作按钮,可以通过下面的方式添加:

$grid->actions(function ($actions) {

// append一个操作
$actions->append('<a href=""><i class="fa fa-eye"></i></a>');

// prepend一个操作
$actions->prepend('<a href=""><i class="fa fa-paper-plane"></i></a>');
});

如果有比较复杂的操作,可以参考下面的方式:

先定义操作类

<?php

namespace App\Admin\Extensions;

use Encore\Admin\Admin;

class CheckRow
{
protected $id;

public function __construct($id)
{
$this->id = $id;
}

protected function script()
{
return <<<SCRIPT

$('.grid-check-row').on('click', function () {

// Your code.
console.log($(this).data('id'));

});

SCRIPT;
}

protected function render()
{
Admin::script($this->script());

return "<a class='btn btn-xs btn-success fa fa-check grid-check-row' data-id='{$this->id}'></a>";
}

public function __toString()
{
return $this->render();
}
}

然后添加操作:

$grid->actions(function ($actions) {

// 添加操作
$actions->append(new CheckRow($actions->getKey()));
});