# 渲染输出

表单构建器渲染输出

  • 方法一:页面内只有单一表单时

    注意!此方法仅支持渲染一个表单构建器,不需要写视图文件

    控制器代码示例如下:

    namespace app\demo\controller;
    
    class FormDemo {
    
        public function demo(){
            $builder=YF('demo')
                ->tab('base','基础')
                ->field([
                    'name'=>['title'=>'姓名','verify'=>'require|chs','desc'=>'只能输入汉字'],
                    ...
                ])
                ->button("'reload','clear','reset','submit')
                ->submit(function ($data){
                    $insertData=[
                        'name'=>$data['name']
                    ];
                    $this->model->addRow($insertData);
                    return success_json(['reload'=>true]);
                });
            return view_form($builder);
        }
    }
    

    不需要视图文件!

  • 方法二:自定义页面内容时

    注意!此方法支持一个页面渲染多个表单构建器,需要写视图文件

    控制器代码示例如下:

    namespace app\demo\controller;
    
    class FormDemo {
    
        public function demo(){
            // 表单构建器配置参考方法一
            $builder=YF('demo');
            // 多个构建器可反复调用此方法 $builder->assign();
            $builder->assign();
            return $this->fetch();
        }
    }
    

    视图代码示例如下:

    <!-- 继承公共模板文件 -->
    {extend name="$adminPage"}
    
    <!-- 重写content内容 -->
    {block name="content"}
    <!-- form标签定义type属性为yunj,id与后端构建器id一致,多个构建器可写多个form标签 -->
    <form type="yunj" id="demo"></form>
    {/block}