setFormItems('表单项数据')

addFormItems方法作用相同,也是一次性添加多个表单项,不同之处在于,setFormItems方法需要写上参数名,但不要求顺序,比如上一节的例子。

return ZBuilder::make('form')
    ->addFormItems([
    	['text', 'title', '标题'],
        ['textarea', 'summary', '摘要'],
        ['ueditor', 'content', '内容'],
        ['image', 'pic', '封面'],
        ['tags', 'tags', '标签'],
        ['file', 'files', '附件']
    ])
    ->fetch();

用setFormItems方法实现相同的表单

return ZBuilder::make('form')
    ->setFormItems(
      [
          [
			'type' => 'text',
            'name' => 'title',
            'title' => '标题'
          ],
          [
			'type' => 'textarea',
            'title' => '摘要',
            'name' => 'summary'
          ],
          [
			'type' => 'ueditor',
            'name' => 'content',
            'title' => '内容'
          ],
          [
			'type' => 'image',
            'name' => 'pic',
            'title' => '封面'
          ],
          [
			'type' => 'tags',
            'name' => 'tags',
            'title' => '标签'
          ],
          [
			'type' => 'file',
            'name' => 'files',
            'title' => '附件'
          ]
      ]
    )
    ->fetch();

这个方法一般用的比较少,比如从数据库读取表单项数据的就可以用这个方法。

需要注意的是,如果添加的是分组,需指定type和options,比如:

return ZBuilder::make('form')
    ->setFormItems(
      [
          [
			'type' => 'text',
            'name' => 'title',
            'title' => '标题'
          ],
          [
			'type' => 'textarea',
            'title' => '摘要',
            'name' => 'summary'
          ],
          [
			'type' => 'ueditor',
            'name' => 'content',
            'title' => '内容'
          ],
          [
			'type' => 'image',
            'name' => 'pic',
            'title' => '封面'
          ],
          [
			'type' => 'tags',
            'name' => 'tags',
            'title' => '标签'
          ],
          [
			'type' => 'file',
            'name' => 'files',
            'title' => '附件'
          ],
          [
            'type' => 'group',
            'options' => [
                '微信支付' =>[
                    [
                    'type' => 'text',
                    'name' => 'appid1',
                    'title' => 'APPID'
                    ],
                    [
                    'type' => 'text',
                    'name' => 'appkey1',
                    'title' => 'APPKEY'
                    ]
                ],
                '支付宝支付' =>[
                    [
                    'type' => 'text',
                    'name' => 'appid2',
                    'title' => 'APPID'
                    ],
                    [
                    'type' => 'text',
                    'name' => 'appkey2',
                    'title' => 'APPKEY'
                    ]
                ]
             ]
          ]
      ]
    )
    ->fetch();