ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
#### dcat-admin 工具表单传参使用 首先需要创建一个工具表单 ~~~ <?php namespace App\Admin\Forms; use Dcat\Admin\Models\Administrator; use Dcat\Admin\Traits\LazyWidget; use Dcat\Admin\Widgets\Form; class ResetPassword extends Form { use LazyWidget; // 如果要要传递参数需要使用这个traits 里面自带了一个参数 payload可用 // 处理请求 public function handle(array $input) { // 获取外部传递参数 $id = $this->payload['id'] ?? null; return $this->response()->success('密码修改成功'); } public function form() { // 获取外部传递参数 //$id = $this->payload['id'] ?? null; $this->password('password')->required(); // 密码确认表单 $this->password('password_confirm')->same('password'); } } ~~~ 使用的时候就把参数传递过去 ~~~ <?php namespace App\Admin\Actions\Grid; use App\Admin\Forms\ResetPassword as ResetPasswordForm; use Dcat\Admin\Widgets\Modal; use Dcat\Admin\Grid\RowAction; class ResetPassword extends RowAction { protected $title = '修改密码'; public function render() { // 实例化表单类并传递自定义参数 $form = ResetPasswordForm::make()->payload(['id' => $this->getKey()]); // 这个payload可使用就是因为上面引用了LazyWidget 可用根据这个来传递参数 return Modal::make() ->lg() ->title($this->title) ->body($form) ->button($this->title); } } ~~~