直接设置表单项
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();
