Symfony 2.8选择表单类型占位符值的封闭

时间:2017-07-27 11:36:06

标签: php symfony options placeholder

我一直在寻找这个问题的答案,但我似乎找不到任何东西。

我的意思是我正在尝试使用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

0 个答案:

没有答案