搜索中心
搜索中心 搜索快照

快速CRUD - 字段组件库

中国地区 areaChina

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

音频 audio

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

验证码 captcha

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

多选 checkbox

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

代码 code

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

颜色 color

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

货币 currency

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

日期 date

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

日期时间 datetime

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

小数 decimal

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

显示 display

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

文件 file

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

临时文件 fileTemp

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

隐藏域 hidden

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

HTML html

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

图标 icon

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

ID id

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

单张图片 image

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

多张图片 images

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

多张图片(临时路径) imagesTemp

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

jsonIdItems 条目列表

字段存储的是 JSON 格式的 ID 列表,通过 ID 列表获取对应的条目名称

$grid->jsonIdItems('field', '字段名');
     // 条目选择接口
     ->selectUrl(modstart_admin_url('path/to/select'))
     // 指定预览接口
     ->previewUrl(modstart_admin_url('path/to/preview'))
     // 指定条目样式,ITEM_STYLE_TITLE、ITEM_STYLE_COVER_TITLE
     ->itemStyle(JsonIdItems::ITEM_STYLE_TITLE);

条目选择接口需要返回

{
    "code": 0,
    "data": {
        "records": [
            {"id": 1, "title": "选项1", "cover": "http://xxx.com/xxx.jpg"},
            {"id": 2, "title": "选项2", "cover": "http://xxx.com/xxx.jpg"}
        ]
    }
}

条目预览接口接收 ids 参数,该参数使用 , 分隔的多个ID,返回的数据格式如下

{
    "code": 0,
    "data": {
        "records": [
            {"id": 1, "title": "选项1", "cover": "http://xxx.com/xxx.jpg"},
            {"id": 2, "title": "选项2", "cover": "http://xxx.com/xxx.jpg"}
        ]
    }
}

键值对列表 keyValueList

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

链接 link

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

Markdown markdown

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

下拉多选 multiSelect

$builder->multiSelect('field', '字段名')->options([
    'a' => '选项1',
    'b' => '选项2',
    'c' => '选项3',
]);

数字 number

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

密码 password

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

百分比 percent

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

单选 radio

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

富文本 richHtml

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

下拉 select

$field = $builder->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');
// 使用模型作为备选项(简单条件筛选)
$field->optionModel('forum_category','id','title',['xxx'=>'xxx']);
// 使用模型作为备选项,并渲染为树状结构
$field->optionModelTree('forum_category','id','title');

selectRemote 下拉(远程)

$builder->selectRemote('seriesId', '剧集')
        // 指定远程数据源
        ->server(modstart_admin_url('path/to/select_remote'))
        // 显示时查找的数据字段
        ->viewWithModel(XxxModel::class,'id','title');

远程数据源接口需要返回

{
    "code": 0,
    "data": {
        "options": [
            {"value": 1, "label": "选项1"},
            {"value": 2, "label": "选项2"}
        ]
    }
}

系统封装好了参数可以直接试用,远程数据源可以直接调用以下方法返回

class XxxController extends Controller
{
    public function selectRemote()
    {
        return SelectRemote::handleModel(XxxModel::class,'id','title');
    }
}

开关 switch

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

标签 tags

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

单行文本 text

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

多行文本 textarea

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

时间 time

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

树状组件 tree

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

类型 type

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

多值 values

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

视频 video

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

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

查看原文
QQ
微信