ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 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(); ~~~