model-grid 默認有四個行操作編輯、快捷編輯、刪除和詳情,可以通過下面的方式關閉它們:
$grid->actions(function ($actions) {
$actions->disableDelete();
$actions->disableEdit();
$actions->disableQuickEdit();
$actions->disableView();
}
// 也可以通過以下方式啟用或禁用按鈕
$grid->disableDeleteButton();
$grid->disableEditButton();
$grid->disableQuickEditButton();
$grid->disableViewButton();
//去掉復選框
$grid->disableRowSelector();
//禁用行操作 去掉行 操作
$grid->disableActions();
//禁用新增按鈕
$grid->disableCreation();
//關閉批量操作
$grid->tools(function ($tools) {
$tools->batch(function ($batch) {
$batch->disableDelete();
});
});
$form
//表單bottom
$form->disableReset();
$form->disableEditingCheck();
$form->disableViewCheck();
//表單右上角
$form->tools(function (Form\Tools $tools) {
$tools->disableDelete();
$tools->disableView();
});
$grid
// 表單右上角
$grid->disableExport();
$grid->disableCreation();
// 操作按鈕
$grid->actions(function (Grid\Displayers\Actions $actions) {
$actions->disableDelete();
$actions->disableEdit();
$resDemand = Demand::find($actions->getKey());
$edit_html='';
//通過
if($resDemand->status==1){
$edit_html.="<span class='mb-5'><a class='grid-row-pass' title='通過' data-id='{$actions->getKey()}'><i class='glyphicon glyphicon-ok'></i></a></span>";
$actions->append($edit_html);
});
$show
//表單右上角
$show->panel()->tools(function ($tools){
$tools->disableDelete();
$tools->disableEdit();
});
獲取當前行數據
use Dcat\Admin\Grid;
$grid->actions(function (Grid\Displayers\Actions $actions) {
// 當前行的數據數組
$rowArray = $actions->row->toArray();
// 當前行的某個字段的數據
$email = $actions->row->email;
// 獲取當前行主鍵值
$id = $actions->getKey();
});
添加自定義按鈕
use Dcat\Admin\Grid;
$grid->actions(function (Grid\Displayers\Actions $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 artisan admin:action
<?php
namespace App\Admin\Extensions;
use Dcat\Admin\Grid\RowAction;
class CheckRow extends RowAction
{
/**
* 返回字段標題
*
* @return string
*/
public function title()
{
return 'Check row';
}
/**
* 添加JS
*
* @return string
*/
protected function script()
{
return <<<JS
$('.grid-check-row').on('click', function () {
// Your code.
console.log($(this).data('id'));
});
JS;
}
public function html()
{
// 獲取當前行數據ID
$id = $this->getKey();
// 獲取當前行數據的用戶名
$username = $this->row->username;
// 這里需要添加一個class, 和上面script方法對應
$this->setHtmlAttribute(['data-id' => $id, 'email' => $username, 'class' => 'grid-check-row']);
return parent::html();
}
}
然后添加操作:
$grid->actions(new CheckRow());
// 也可以通過這種方式添加
$grid->actions(function (Grid\Displayers\Actions $actions) {
$actions->append(new CheckRow());
}
https://learnku.com/docs/dcat-admin/2.x/use-and-extension-of-rows/8092