多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 初始化 ~~~ return ZBuilder::make('form') ->setPageTitle('新增商品') ->addFormItems($fields) // ->layout([) ->setFormData([ 'product_id'=>$p_id, ]) ->fetch(); } ~~~ ## 设置页面标题 setPageTitle(‘页面标题’) 和表单构建器的用法一样,一般情况下,无需调用这个方法,系统会自动获取当前操作的名称,前提是该操作已经添加到菜单节点。 也可以重新设置页面标题 ~~~ // 使用ZBuilder构建数据表格,并将页面标题设置为“列表” return ZBuilder::make('table')->setPageTitle('列表')->fetch(); ~~~ ## 设置页面提示信息 `setPageTips(‘提示信息’ [,‘提示类型’])` 中括号的里的参数为可选参数,后面的其他方法也是如此 提示信息 ~~~ // 使用ZBuilder构建数据表格 return ZBuilder::make('table')->setPageTips('这是页面提示信息')->fetch(); ~~~ 提示类型 默认提示类型是info,除此之外还有success、danger、warning ~~~ // 使用ZBuilder构建数据表格 return ZBuilder::make('table') ->setPageTips('这是页面提示信息', 'danger') ->fetch(); ~~~ > 提示信息里里还可以加链接 是支持html代码的 包裹在p里 # 添加单个项目 添加表单项功能是表单构建器的重中之重,系统内置了多达30几种不同的表单类型,可以随心所欲的构建表单页面 `addCheckbox(‘name值’, ‘标题’, ‘提示’, ‘数据项’ [, ‘默认值’, ’ 属性’, ‘额外属性’, ‘额外css类’])` ## 复选 ## addCheckbox(‘name值’, ‘标题’, ‘提示’, ‘数据项’ [, ‘默认值’, ’ 属性’, ‘额外属性’, ‘额外css类’]) 标识符:`checkbox` | 参数 | 含义 | 类型 | | --- | --- | --- | | name | name值 | string | | title | 标题 | string | | tips | 提示 | string | | options | 数据项 | array | | default | 默认值 | string | | attr | 属性 | array | | extra_attr | 额外属性 | string | | extra_class | 额外css类 | string | ### 一个简单的复选框 ~~~ return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '', ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']) ->fetch(); ~~~ ![](https://box.kancloud.cn/03c4c36bbff86ec399cd1b9db8af6f4c_254x145.png) ### 带默认值的复选框 ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '请选择城市', $list_city, 'gz') ->fetch(); ~~~ 也可以同时选中多个 ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '请选择城市', $list_city, 'gz,sh') ->fetch(); ~~~ ![](https://box.kancloud.cn/de93fbf585601f29f3e600a3672f6ea2_274x164.png) 或者使用数组的方式,都是一样的 ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '请选择城市', $list_city, ['gz', 'sh']) ->fetch(); ~~~ ### 定义复选框的属性 可以设置复选框的颜色、尺寸、形状 #### 颜色(color) * `primary` (默认) * `default` * `info` * `success` * `warning` * `danger` ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '请选择城市', $list_city, ['gz', 'sh'], ['color' => 'danger']) ->fetch(); ~~~ ![](https://box.kancloud.cn/7524047f374333b7efae85d0c3dc65bf_239x102.png) #### 尺寸(size) * `sm` (默认) * `nm` * `lg` ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '', $list_city, '', ['size' => 'lg']) ->fetch(); ~~~ ![](https://box.kancloud.cn/ddfa373fcac78db6cdd5327a5148578d_252x94.png) #### 形状(shape) * `rounded` (默认) * `square` ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '', $list_city, '', ['shape' => 'square']) ->fetch(); ~~~ 三种属性可以一起使用 ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '', $list_city, '', ['color' => 'danger', 'size' => 'lg', 'shape' => 'square']) ->fetch(); ~~~ ### 添加额外属性 比如默认为禁用状态 ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '', $list_city, '', '', 'disabled') ->fetch(); ~~~ ### 添加额外css类 ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '', $list_city, '', '', '', 'active') ->fetch(); ~~~ > 这里添加的css类是自定义的,有特殊要求时才需要,请根据实际开发来决定 ## 添加表单项通用方法 除了可以用不同的方法来添加表单项外,DolphinPHP还为大家提供两个通用方法。 ## 添加单个表单项 #### addFormItem() 比如创建一个表单,一般情况下可能这么写 ~~~ return ZBuilder::make('form') ->addText('title', '标题') ->addTextarea('summary', '摘要') ->addUeditor('content', '内容') ->addImage('pic', '封面') ->addTags('tags', '标签') ->addFile('files', '附件') ->fetch(); ~~~ 也可以用`addFormItem()`方法代替,第一个参数是表单项的标识符,其他参数与其对应的类型参数一致。 ~~~ return ZBuilder::make('form') ->addFormItem('text', 'title', '标题') ->addFormItem('textarea', 'summary', '摘要') ->addFormItem('ueditor', 'content', '内容') ->addFormItem('image', 'pic', '封面') ->addFormItem('tags', 'tags', '标签') ->addFormItem('file', 'files', '附件') ->fetch(); ~~~ ## 添加多个表单项 #### addFormItems() 还是感觉上面的写法比较啰嗦吗?没关系,我们还有`addFormItems()`方法。比如上面的例子,可以写成 ~~~ return ZBuilder::make('form') ->addFormItems([ ['text', 'title', '标题'], ['textarea', 'summary', '摘要'], ['ueditor', 'content', '内容'], ['image', 'pic', '封面'], ['tags', 'tags', '标签'], ['file', 'files', '附件'] ]) ->fetch(); ~~~ 是不是看起来简洁很多? > 注意:addFormItems的参数是一个数组,每个元素是一个表单项数组。 daterange的 layout设置 是`name[]` 比方说你的daterange 的name 是create_time 那么就是`create_time[]`