4.8. 数据展示 Detail

未匹配的标注

数据展示

快速入门

ModStart\Detail\Detail 类用于快速生成详情页面,参照例子 数据表格→快速入门

可以通过如下代码快速定义个数据表单

return Detail::make('blog', function (Detail $detail) {
    // 定义显示ID列
    $detail->id('id', 'ID');
    // 定义标题字段,格式为单行文本
    $detail->text('title', '标题');
    // 定义封面字段,格式为单张图片
    $detail->image('cover', '封面');
    // 定义摘要字段,格式为多行文本
    $detail->textarea('summary', '摘要');
    // 定义内容字段,格式为富文本
    $detail->richHtml('content', '内容');
    // 定义创建时间字段,格式为简单显示
    $detail->display('created_at', '创建时间');
    // 定义更新时间字段,格式为简单显示
    $detail->display('updated_at', '更新时间');
});

获取当前模型数据

在闭包内可以获取到当前模型的数据

return Detail::make('blog', function (Detail $detail) {
    dd($detail->item());
});

字段组件

显示 display

$detail->display('field','名称');

单行文本 text

$detail->text('field', '名称');

多选 checkbox

$detail->checkbox('field', '名称');

标签 tags

$detail->tags('field', '名称');

代码 code

$detail->code('field', '名称');

树状组件 tree

$detail->tree('field', '名称');

类型 type

// 基础使用
$grid->type('field', '类型');

// 在表格中快速编辑
$field->gridEditable(true);
// 定义BaseType,同时指定类型颜色
$field->type(XxxStatus::class, [
    XxxStatus::SUCCESS => 'success',
    XxxStatus::FAIL => 'danger',
])

密码 password

$detail->password('field', '类型');

单张图片 image

$detail->image('field', '类型');

多张图片 images

$detail->type('field', '类型');

多张图片(临时路径) imagesTemp

$detail->type('field', '类型');

链接 link

$detail->link('field', '类型');

开关 switch

$detail->switch('field', '类型');

多行文本 textarea

$detail->textarea('field', '类型');

颜色 color

$detail->color('field', '类型');

日期 date

$detail->date('field', '类型');

日期时间 datetime

$detail->datetime('field', '类型');

时间 time

$detail->time('field', '类型');

单选 radio

$detail->radio('field', '类型');

下拉 select

// 基本使用
$detail->select('field', '类型');

// 使用Type作为备选项,XxxType是继承BaseType的类
$field->optionType(XxxType::class);
// 使用数组作为备选项
$field->options(['1' => '选项1', '2' => '选项2']);
// 使用数组作为备选项
$field->optionArray([['id' => 1, 'name' => '选项1'], ['id' => 2, 'name' => '选项2']],'id','name');
// 使用模型作为备选项
$field->optionModel('forum_category','id','title');
// 使用模型作为备选项,并渲染为树状结构
$detail->select('position', '位置')->optionModelTree('forum_category','id','title');

富文本 richHtml

$detail->richHtml('field', '类型');

Markdown markdown

$detail->markdown('field', '类型');

键值对列表 keyValueList

$detail->keyValueList('field', '类型');

多值 values

$detail->values('field', '类型');

HTML html

$detail->html('field', '类型');

数字 number

$detail->number('field', '类型');

百分比 percent

$detail->percent('field', '类型');

小数 decimal

$detail->decimal('field', '类型');

货币 currency

$detail->currency('field', '类型');

ID id

$detail->id('field', '类型');

验证码 captcha

$detail->captcha('field', '类型');

临时文件 fileTemp

$detail->fileTemp('field', '类型');

文件 file

$detail->file('field', '类型');

视频 video

$detail->video('field', '类型');

音频 audio

$detail->audio('field', '类型');

中国地区 areaChina

$detail->areaChina('field', '类型');

隐藏域 hidden

$detail->hidden('field', '类型');

图标 icon

$detail->icon('field', '类型');

更多内置组件请参照 ModStart\Support\Manager\FieldManager 中的定义

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 0
发起讨论 只看当前版本


暂无话题~