Browse Source

tp5-form-builder 1.0.0

xingchen 5 years ago
parent
commit
a827c02139
2 changed files with 38 additions and 0 deletions
  1. 14 0
      README.md
  2. 24 0
      controller/Config.php

+ 14 - 0
README.md

@@ -10,6 +10,20 @@ THINKPHP5 表单自动构建组件,主要在THINKPHP5.x控制器中使用,
 
 把view下的文件放入你的后台view目录中,在控制器中调用即可(参照Config.php调用方法)
 
+$fields =[
+	['type' => 'text', 'name' => 'id', 'title' => '标题', 'value' => '默认值', 'attr' => ' data-id="1" '],
+];
+
+type	类型
+
+name	表单字段名
+
+title	字段说明
+
+value	初始默认值
+
+attr	表单附加属性,主要用于表单验证
+
 部分字段需要JS支持才能使用,例如图片上传,下拉框,图片上传使用的是webuploader,下拉框使用的是select2,单选多选使用的是icheck,表单验证使用的是nicevalidate
 
 #### 如果对您有帮助,您可以点右上角 "Star" 支持一下 谢谢!

+ 24 - 0
controller/Config.php

@@ -103,4 +103,28 @@ class Config extends Controller
         $this->assign('form_items', $this->setData($fields, $info));
         return $this->fetch('public/edit');
     }
+
+    /**
+     * 设置表单数据
+     * @param array $fields 字段组
+     * @param array $info 字段值组
+     * @author 似水星辰 [ 2630481389@qq.com ]
+     * @return mixed
+     */
+    public function setData($fields = [], $info =[]){
+        if(is_array($fields)){
+            foreach($fields as &$v){
+                if($v['type'] != 'sort'){
+                    if($v['type'] == 'password'){
+                        $v['value'] = '';
+                    }else if($v['type'] == 'attr'){
+                        $v['value'] = htmlspecialchars_decode($info[$v['name']]);
+                    }else{
+                        $v['value'] = $info[$v['name']];
+                    }
+                }
+            }
+        }
+        return $fields;
+    }
 }