企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## **动态表单** * 动态表单组件是DaiCuo框架的核心之一,主要用途是动态生成表单组件做,需要搭配前面组件(表单)做UI展示提供给用户做输入处理。 * 动态表单组件以分层控制器的方式提供。 ## **组件路径** * ./apps/common/widget/Form.php ## **组件模板** * ./apps/common/view/daicuo_form.tpl ## **组件方法** * \app\common\widget\Form::build ## **组件钩子** * form_build_before ## **三种调用方式** 以下三个方式根据个人喜欢都可以完成表单的动态生成,推荐使用 DcBuildForm 助手函数。 ``` public function index() { \app\common\widget\Form::build($params);//标准方式调用 DcBuildForm($params);//助手函数方式调用 widget('common/Form/build', ['params' =>$params]);//TP函数方式调用 } ``` ## **助手函数** * DcBuildForm 快速生成表单元素 * DcFormItems 快速生成适用于框架的表单元素格式列表 * DcFormItem 快速生成一条适用于框架的表单元素格式 #### **DcBuildForm定义** 快速生成表单元素 | 版本 | 描述 | | --- | --- | | 1.0.0 | 首次引入 | #### **用法** ``` DcBuildForm($form) ``` #### **参数** #### $form 类型:array 描述:必需;表单元素属性列表 * $name-string-必需-form标签的name属性,可通过此参数搭配钩子处理系统预设的表单-默认:text * $class-string-可选-form标签的class属性-默认:row * $action-string-可选-form标签的action属性-默认:空 * $method-string-可选-form标签的method属性-默认:post * $disabled-bool-可选-form标签的disabled属性-默认:false * $ajax-bool-可选-是否采用AJAX模式提交表单-默认:true * $callback-string-可选-AJAX模式时提交后回调函数-默认:空 * $submit-string-可选-提交按钮文字,留空不显示-默认:提交 * $reset-string-可选-重置按钮文字,留空不显示-默认:重置 * $close-string-可选-关闭按文字,留空不显示,主要用于ajax浮动窗口-默认:字段标题 * $items-string-可选-表单元素列表,参考DcFormItems参数-默认:空 #### **返回值** * array(框架表单元素属性专用格式) ***** #### **DcFormItems定义** 快速生成适用于框架的表单元素格式列表 | 版本 | 描述 | | --- | --- | | 1.6.0 | 首次引入 | #### **用法** ``` DcFormItems($field, $items) ``` #### **参数** #### $field 类型:string 描述:必需;表单字段名;默认:空 #### $items 类型:array 描述:必需;多维数组,键名为字段,键值参考DcFormItem参数列表;默认:空 #### **返回值** * array(框架表单元素属性专用格式) ***** #### **DcFormItem定义** 快速生成一条适用于框架的表单元素格式 | 版本 | 描述 | | --- | --- | | 1.6.0 | 首次引入 | #### **用法** ``` DcFormItem($field, $form) ``` #### **参数** #### $field 类型:string 描述:必需;表单字段名;默认:空 #### $form 类型:array 描述:必需;表单元素属性列表 * $type-string-必需-input类型(html|hidden|type|url|email|number|password|image|file|datetime|textarea|editor|json|custom|select|switch|radio|checkbox)-默认:text * $html-string-可选-自定义html标签-默认:空 * $hidden-string-可选-hidden属性-默认:空 * $name-string-可选-name属性-默认:表单字段名 * $id-string-可选-id属性-默认:表单字段名 * $value-string-可选-value属性-默认:空 * $title-string-可选-title属性-默认:字段标题 * $placeholder-string-可选-placeholder属性-默认:字段描述 * $tips-string-可选-表单元素提示-默认:空 * $autofocus-string-可选-自动获取焦点属性-默认:空 * $readonly-string-可选-readonly属性-默认:false * $disabled-string-可选-disabled属性-默认:false * $required-string-可选-required属性-默认:false * $option-string-可选-option属性,有效范围(select|suctom|switch|radio|checkbox)-默认:空 * $rows-string-可选-rows属性,有效范围(textarea|json|editor)-默认:10 * $class-string-可选-表单外层class属性-默认:row * $class_left-string-可选-表单元素左侧class属性-默认:col-12 * $class_right-string-可选-表单元素右侧class属性-默认:col-12 * $class_right_controll-string-可选-表单元素右侧input标签class属性-默认:'form-control * $class_right_label-string-可选-表单元素右侧label标签class属性,有效范围(switch|radio|checkbox)-默认:'form-check-la' * $class_tips-string-可选-表单提示信息class属性-默认:'form-text #### **返回值** * array(框架表单元素属性专用格式) *****