Browse Source

增加 group 方法, 支持组件分组 #41

xaboy 6 years ago
parent
commit
763bdc4b09
3 changed files with 45 additions and 2 deletions
  1. 21 0
      src/Factory/Base.php
  2. 12 1
      src/Factory/Elm.php
  3. 12 1
      src/Factory/Iview.php

+ 21 - 0
src/Factory/Base.php

@@ -0,0 +1,21 @@
+<?php
+
+
+namespace FormBuilder\Factory;
+
+
+use FormBuilder\Driver\CustomComponent;
+
+abstract class Base
+{
+    /**
+     * 创建自定义组件
+     *
+     * @param string $type
+     * @return CustomComponent
+     */
+    public static function createComponent($type)
+    {
+        return new CustomComponent($type);
+    }
+}

+ 12 - 1
src/Factory/Elm.php

@@ -38,7 +38,7 @@ use FormBuilder\UI\Elm\Traits\TreeFactoryTrait;
 use FormBuilder\UI\Elm\Traits\UploadFactoryTrait;
 use FormBuilder\UI\Elm\Traits\ValidateFactoryTrait;
 
-abstract class Elm
+abstract class Elm extends Base
 {
     use CascaderFactoryTrait;
     use CheckBoxFactoryTrait;
@@ -127,4 +127,15 @@ abstract class Elm
     {
         return Form::elm($action, $rule, $config);
     }
+
+    /**
+     * 组件分组
+     *
+     * @param array $children
+     * @return \FormBuilder\Driver\CustomComponent
+     */
+    public static function group($children = [])
+    {
+        return self::createComponent('el-row')->children($children);
+    }
 }

+ 12 - 1
src/Factory/Iview.php

@@ -38,7 +38,7 @@ use FormBuilder\UI\Iview\Traits\TreeFactoryTrait;
 use FormBuilder\UI\Iview\Traits\UploadFactoryTrait;
 use FormBuilder\UI\Iview\Traits\ValidateFactoryTrait;
 
-abstract class Iview
+abstract class Iview extends Base
 {
     use CascaderFactoryTrait;
     use CheckBoxFactoryTrait;
@@ -142,4 +142,15 @@ abstract class Iview
     {
         return Form::iview4($action, $rule, $config);
     }
+
+    /**
+     * 组件分组
+     *
+     * @param array $children
+     * @return \FormBuilder\Driver\CustomComponent
+     */
+    public static function group($children = [])
+    {
+        return self::createComponent('row')->children($children);
+    }
 }