(a) 列表页面添加按钮
列表页面默认会有一个添加按钮; 表格会有,查看,编辑,删除 按钮;自定义按钮就重写configList
方法来实现自己的需求:
#project\app\admin\controller\Category.php
namespace app\admin\controller;
use easyadmin\app\libs\PageList;
use easyadmin\app\libs\Btn;
class Category extends \easyadmin\controller\Admin
{
/**
* 定义列表字段
* @param PageList $page
*/
protected function configList(PageList $page)
{
//定义表格 行的 操作按钮
$page
->addAction('查看', 'show', [
'icon' => 'layui-icon layui-icon-release',
'class' => ['layui-btn-primary', 'layui-btn-xs'],
])
->addAction('编辑', 'edit', [
'icon' => 'layui-icon layui-icon-edit',
'class' => ['layui-btn-primary', 'layui-btn-xs']
])
->addAction('删除', 'delete', [
'icon' => 'layui-icon layui-icon-delete',
'class' => ['layui-btn-danger', 'layui-btn-xs'],
'confirm' => '确定要删除数据吗?',
// 是否显示删除按钮
'condition' => function ($row){
// $row 是表格中 一行的数据
return $row['filed']==1;
}
]);
//定义页面的添加按钮
$addBtn = new Btn();
$addBtn->setLabel('添加');
$addBtn->setUrl('add');
$addBtn->setIcon('layui-icon layui-icon-add-1');
$page->setActionAdd($addBtn);
}
}
(b) 添加编辑页面按钮
添加编辑页面默认有 返回 保存 和 删除 按钮 ; 如果不能满足需求,只需要重写 configFormAction
方法实现自己的业务;
#project\app\admin\controller\Category.php
namespace app\admin\controller;
use easyadmin\app\libs\Actions;
class Category extends \easyadmin\controller\Admin
{
/**
* 添加和更新页面的操作按钮
* @param Actions $action
* @throws ExceptionAlias
*/
protected function configFormAction(Actions $action)
{
$id = $this->request->get($this->pk);
$params = [];
if ($id) {
$params = [$this->pk => $id];
}
$action
->addAction('取消', 'window.history.back();', [
'icon' => 'layui-icon layui-icon-return',
'class' => ['layui-btn-primary'],
'params' => $params
])
->addAction($id ? '更新' : '添加', 'javascript:', [
'icon' => 'layui-icon layui-icon-ok',
'params' => $params,
'btn_type' => 'submit',
]);
if ($id) {
$action->addAction('删除', 'delete', [
'icon' => 'layui-icon layui-icon-delete',
'class' => ['layui-btn-danger'],
'confirm' => '确定要删除数据吗?',
'params' => $params
]);
}
}
}
(b) 查看详情页面按钮
查看详情页面按钮默认配置, 返回,编辑和删除按钮, 如果不能满足需求,只需要重写 configShowAction
方法实现自己的业务;
#project\app\admin\controller\Category.php
namespace app\admin\controller;
use easyadmin\app\libs\Actions;
class Category extends \easyadmin\controller\Admin
{
/**
* 查看详情按钮默认配置, 可根据自己的业务需求实现
* @param Actions $action
* @throws ExceptionAlias
*/
protected function configShowAction(Actions $action)
{
$id = $this->request->get($this->pk);
if (empty($id)) return;
$params = [
$this->pk => $id
];
$action
->addAction('返回', 'javascript:', [
'icon' => 'layui-icon layui-icon-return',
'class' => ['layui-btn-primary'],
'params' => $params,
'referer' => true,
])
->addAction('编辑', 'edit', [
'icon' => 'layui-icon layui-icon-edit',
'class' => [''],
'params' => $params
])
->addAction('删除', 'delete', [
'icon' => 'layui-icon layui-icon-delete',
'class' => ['layui-btn-danger'],
'confirm' => '确定要删除数据吗?',
'params' => $params
]);
}
}