牛骨文教育服务平台(让学习变的简单)

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();