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
中的定义
推荐文章: