Laravel-Admin 自定义操作按钮大全(表格工具区域、行内操作按钮)
一、行内操作按钮
1、单行操作
行内操作按钮-单行操作共需要三步:
- 生成操作类
- 编辑操作类
- 加入到表格
生成操作类
php atisan admin:action Copy --grid-row --name="复制"
编辑操作类
<?php
namespace App\Admin\Actions;
use Encore\Admin\Actions\RowAction;
use Illuminate\Database\Eloquent\Model;
class Copy extends RowAction
{
public $name = '复制';
public function handle(Model $model)
{
//直接调用模型的方法复制保存即可
$model->replicate()->save();
return $this->response()->success('复制成功.')->refresh();
}
//可以增加一个dialog()来进行互动
public function dialog()
{
$this->confirm('确定复制?');
}
}
如果需要弹出框,可以增加一个form方法来进行弹出框的创建
<?php
namespace App\Admin\Actions;
use Encore\Admin\Actions\RowAction;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
class AddStock extends RowAction
{
public $name = '增加库存';
public function handle(Model $model, Request $request)
{
try {
//使用request 来获取form 提交的数据
$stock = $request->get('stock');
//$model 是当前行的数据,可以直接进行操作
$model->stock = $stock;
$model->save;
return $this->response()->success('库存增加成功')->refresh();
} catch (\Exception $e) {
return $this->response()->error('产生错误:' . $e->getMessage());
}
}
//增加一个弹出框,使得可以进行表单提交
public function form()
{
$this->text('stock', '增加的库存')->rules('required');
}
//可以增加一个dialog()来进行互动
public function dialog()
{
$this->confirm('确定复制&#