dcat 详情页怎么以弹窗模式显示?

dcat 详情页怎么以弹窗模式显示?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

我是这样弄的,创建下面的自定义行操作,然后加载这个操作就可以了,需要把详情方法改成 public (如有更好的办法也请告知)

<?php

namespace App\Admin\Actions\Grid;

use App\Admin\Renderable\DetailRenderable;
use Dcat\Admin\Grid\RowAction;
use Dcat\Admin\Widgets\Modal;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Route;


class Detail extends RowAction
{
    /**
     * @return string
     */
    protected $title = '详情';

    public function render()
    {
        // 实例化表单类并传递自定义参数
        $show = DetailRenderable::make(['id' => $this->getKey(), 'controller' => Arr::first(explode('@', Route::current()->getActionName()))]);

        return Modal::make()
            ->lg()
            ->body($show)
            ->button('<a href="javascript:void(0)"><i class="feather icon-eye"> ' . $this->title . '</i></a>');
    }
}

<?php

namespace App\Admin\Renderable;

use Dcat\Admin\Support\LazyRenderable;

class DetailRenderable extends LazyRenderable
{
    public function render()
    {
        return (new $this->payload['controller'])->detail($this->payload['id']);
    }
}


1年前 评论
calvinr (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!