我一直在寻找这个问题的答案,但我似乎找不到任何东西。
我的意思是我正在尝试使用Symfony的形式ChoiceType和Placeholder的动态值。在Symfony的早期版本中,我可以添加一个闭包,传递选项,我可以计算给定的选项,这样我就可以决定放置占位符或empty_data,因为symfony 2.8我不能再做了所以,因为占位符只接受字符串或布尔值。有没有人知道如何解决这个问题?
class CustomChoiceType extends AbstractType {
public function configureOptions(OptionsResolver $resolver)
{
$choiceLoader = function (Options $options)
{
return new ArrayChoiceList(array(of-some-dynamically-loaded-choice-options));
};
$resolver->setDefaults(array(
'choice_loader' => $choiceLoader,
));
}
}
$form->add('formFieldId', CustomChoiceType::class, array(
'required' => false,
'label' => false,
'disabled' => false,
'placeholder' => function (Options $options) {
return '';
},
'translation_domain' => 'Some Translation Domauin',
'attr' => array(
'class' => 'Some Css Classes here',
'unavailable' => $unavailable,
),
));
P.S。在Symfony 2.3中,为此我使用了 - empty_value