dcat admin自定义按钮,弹框操作,虽然有文档但是有一些地方没写清楚
文档地址:https://learnku.com/docs/dcat-admin/1.x/tools-form/8125#modal
运行 php artisan admin:action 命令,选择选项 2,生成数据表格行操作类
- 这里生成的代码关键部分没有点出来,跟官方文档不一样
方法全部删掉,直接添加render渲染
我尝试过,不删除其他的方法,在添加了ICON的情况下,会出现多个icon显示。 - 文档中没有说明按钮前的icon如何添加。
- 官方代码:
$form = ResetPasswordForm::make()->payload(['id' => $this->getKey()]);
这里存在一个很重要的点,payload是在实现懒加载类才有的功能,官方文档没有指出来。也就是说class ResetPassword extends Form implements LazyRenderable
必须实现implements LazyRenderable
完整的代码如下:
php
<?php
namespace App\Admin\Actions\Grid;
use App\Admin\Forms\WithdrawAuditForm;
use Dcat\Admin\Grid\RowAction;
use Dcat\Admin\Widgets\Modal;
class WithdrawAuditAction extends RowAction
{
protected $title = '审核';
public function render()
{
$form = WithdrawAuditForm::make()->payload(['id' => $this->getKey()]);
return Modal::make()
->lg()
->title($this->title)
->body($form)
// 按钮前的icon添加方式
->button('<i class="feather icon-check-circle"></i> '.$this->title);
}
}