我有一个像这样的Symfony FormType
use SymfonyComponentFormAbstractType;
use SymfonyComponentFormExtensionCoreTypeTextType;
use SymfonyComponentFormFormBuilderInterface;
class MyType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('name', TextType::class, [
'label' => 'Name',
'required' => true,
'disabled' => false,
]);
}
}
在编辑时,该文本类型将使用来自DB的值填充。我想根据其他一些条件改变字段中的值,我尝试了这个,没有运气:
if($someValue !== null) {
$builder
->get('name')->setData($someValue);
}
如何在表单中显示不同的值?
在你的控制器当你渲染表单时,试着这样做:这里的例子是一个名为category
的实体表单$form = $this->createForm(CategoryType::class, $category);
if($someValue !== null) {
$form->get('name')->setData($someValue);
}