PHP
laravel-admin列表自定义删除按钮
laravel-admin列表自定义删除按钮
最近接了一个单,系统用到的是laravel-admin,其中有个需求,需要重新对删除按钮的位置往下挪,看了下官方文档,没有看到相关方法,想到了一个曲线救国的思路,就是隐藏掉原有的删除按钮,自己自定义一个,这样就可以对按钮顺序进行改变,下面跟大家分享这个方法。
一、创建按钮文件
我们在项目的action目录下创建文件,路径为Admin/Actions下,创建一个文件名为RoomDeviceDelete.php文件,代码如下
<?php /** * Created by PhpStorm. * User: zhangw * Date: 2023-05-24 * Time: 14:51 */ namespace App\Admin\Actions; use Encore\Admin\Actions\RowAction; use Illuminate\Database\Eloquent\Model; /** * 自定义删除按钮 * Class RoomEditUrl * @package App\Admin\Actions */ class RoomDeviceDelete extends RowAction { public $name = '删除'; private $url; public function handle(Model $model) { //删除设备 RoomDeviceDelete::where("id", $model->id)->delete(); //提示成功 return $this->response()->success('删除成功.')->refresh(); } //可以增加一个dialog()来进行互动 public function dialog() { $this->confirm('确定删除?'); } }
二、列表引入自定义文件
我们在列表屏蔽掉原有的删除按钮,然后引入我们自定义的删除按钮文件,代码如下
#行操作 $grid->actions(function ($actions) use ($roomId, $roomTitle, $storeId, $storeTitle) { // 去掉删除 $actions->disableDelete(); // 去掉查看 $actions->disableView(); // 去掉编辑 $actions->disableEdit(); // 添加删除按钮 $actions->add(new RoomDeviceDelete()); });
完成以上操作,我们就可以使用我们的自定义删除按钮了。
0条评论