setFormData('表单数据')

这个方法是编辑页面常用的方法,用来设置表单数据,比如:

return ZBuilder::make('form')
    ->addText('title', '标题')
    ->fetch();

这段代码是生成一个单行文本框,但是没有数据,那么可以使用setFormData方法设置数据。

return ZBuilder::make('form')
    ->addText('title', '标题')
    ->setFormData(['title' => '我是标题'])
    ->fetch();

再比如

return ZBuilder::make('form')
    ->addText('title', '标题')
    ->addTextarea('summary', '摘要')
    ->addUeditor('content', '内容')
    ->addImage('pic', '封面')
    ->setFormData(['title' => '我是标题', 'summary' => '我是摘要', 'content' => '我是内容', 'pic' => 12])
    ->fetch();

效果:

通常情况下,我们不会这样去设置表单数据,而是从数据库读取数据。

$data = Db::name('article')->where('id',1)->find();

return ZBuilder::make('form')
    ->addText('title', '标题')
    ->addTextarea('summary', '摘要')
    ->addUeditor('content', '内容')
    ->addImage('pic', '封面')
    ->setFormData($data)
    ->fetch();

或者不使用setFormData,而是直接放在fetch方法的第二个参数

$data = Db::name('article')->where('id',1)->find();

return ZBuilder::make('form')
    ->addText('title', '标题')
    ->addTextarea('summary', '摘要')
    ->addUeditor('content', '内容')
    ->addImage('pic', '封面')
    ->fetch('', $data);