+ 收藏我们

网站模板

网站模板搜索
404模板 营销型模板 外贸网站模板 单页模板 双语模板 标签大全
电话:18630701785
首页 > 站长学院 > Dcat Admin 入门应用(六)列模态窗-异步数据和同步数据展示 >

Dcat Admin 入门应用(六)列模态窗-异步数据和同步数据展示

时间:2024-04-11 09:42:57

模式窗按需显示:通过if条件判断是否在column上添加模态窗显示

模式窗同步和异步获取数据展示

选择性添加模态窗
通过列的if判断,可以进行选择行的添加显示方式

$grid->column('remark')->if(function ($column) {
    if ($this->remark) {
        return $column->modal('操作内容', function ($modal) {
            return CommentReview::make([
                'content' => Helper::htmlEntityEncode($this->remark),
            ]);
        });
    }
});
同步数据展示
同步数据展示,页面表格渲染成功后,模态窗数据同时渲染并隐藏,触发模态窗的时候同步展示:

$grid->column('content', '专栏预览')->display(function () {
    return '<a href="javascript:" style="color:#fd644e;" data-src="">查看</a>';
})->modal('专栏预览', function () {
    $content = '<div>专栏标题:</div>';
    $content .= '<div style="padding: 10px 15px;">' . $this->title . '</div>';
    $content .= '<div style="margin-top: 20px">专栏简介:</div>';
    $content .= '<div style="padding: 10px 15px;">' . $this->description . '</div>';
    return "<div style='padding:10px 10px 0'>$content</div>";
});
异步数据展示
在触发模式窗的时候回通过请求服务端,获取需要展示的数据:如根据id查询数据等等

$grid->column('content', '预览')->display(function () {
    return '<a href="javascript:" style="color:#fd644e;" data-src="">查看</a>';
})->modal('预览', function () {
    //异步显示部分数据
    return ColumnReview::make([
        'columnTitle' => $this->title,
        'description' => $this->description
    ]);
});
示例代码是通过传递title和description进行展示:也可以不传递参数,在render方法里面通过$this->geTKEy()获取到当前行的Id主键值,在进行数据信息的查询

<?PHP

namespace App\Admin\Lazy\Examine;
use Dcat\Admin\Support\LazyRenderable;

class ColumnReview extends LazyRenderable
{

    
    public function render()
    {
        //$this->getKey()获取当前行的Id
        //根据Id查询相关信息,输出
        
        // TODO: Implement render() method.
        $content = '<div>标题:</div>';
        $content .= '<div style="padding: 10px 15px;">' . $this->columnTitle . $this->key.'</div>';
        $content .= '<div style="margin-top: 20px">简介:</div>';
        $content .= '<div style="padding: 10px 15px;">' . $this->description . '</div>';
        return "<div style='padding:10px 10px 0'>$content</div>";
    }
}

有问题可以加入网站技术QQ群一起交流学习

本站会员学习、解决问题QQ群(691961965)

客服微信号:lpf010888

pbootcms教程

织梦教程

站长学院

SEO

wordpress

竞价教程

信息流

Title