php – Symfony pre_submit更改字段顺序
发布时间:2020-12-13 16:05:46 所属栏目:PHP教程 来源:网络整理
导读:给定以下表单类型如何在提交之前呈现我的第二个字段? 我尝试使用$form-删除但我总是会收到此错误: Warning: Illegal offset type in isset or empty 不确定如何解决这个问题. /** * @param FormBuilderInterface $builder * @param array $options */publi
给定以下表单类型如何在提交之前呈现我的第二个字段?
我尝试使用$form->删除但我总是会收到此错误: Warning: Illegal offset type in isset or empty 不确定如何解决这个问题. /** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder,array $options) { $builder ->add('survey',EntityType::class,[ 'class' => SurveyManager::class,'attr' => [ 'class' => 'field-change',],]) ->add('submit',SubmitType::class,[ ]) ->addEventListener( FormEvents::PRE_SUBMIT,function (FormEvent $event) { $form = $event->getForm(); $data = $event->getData(); $modifier = $data['survey']; $form->add('headquarter',[ 'class' => HeadQuarterManager::class,'query_builder' => function (HeadQuarterManagerRepository $er) use ($modifier) { return $er->getHeadquarter($modifier); },]); } ); } 解决方法
Symfony的Form组件不支持重新排列表单的字段.他们在问题
#5827和
#11241上谈到了这个功能.
您可以尝试在EventListener中删除字段提交,然后添加headquerter并提交(是的,再次).但我不确定这是否有效. 另一个解决方案是安装IvoryOrderedFormBundle.它在表单字段中添加了新选项:position. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |