我想为select的每个选项添加一个属性,其值是给定属性的值。
我有以下表单类型类:
class ExtraEntityType extends AbstractType
{
/**
* Configures the options for this type.
*
* @param OptionsResolver $resolver The resolver for the options.
*/
public function configureOptions(OptionsResolver $resolver)
{
$propertyAccessor = new PropertyAccessor();
$choiceAttr = function ($choice, $key) use (&$propertyAccessor) {
$value = $propertyAccessor->getValue($choice, 'foo');
return ['data-extra-value' => $value];
};
$resolver
->setRequired(['extra_property'])
->setAllowedTypes('extra_property', 'string')
->setDefault('choice_attr', $choiceAttr);
}
/**
* {@inheritdoc}
*/
public function getParent()
{
return 'entity';
}
/**
* Returns the name of this type.
*
* @return string The name of this type
*/
public function getName()
{
return 'extra_entity';
}
}
我需要按配置的'foo'
替换固定值$options['extra_property']
。
有人可以告诉我如何解决这个问题,或者是否还有其他方法可以解决这个问题?
答案 0 :(得分:1)
您可以规范化 onClick()
选项,如下所示:
choice_attr
注意 :我还没有真正对此进行过测试,如果symfony使用{{1}的自身规范化器,它可能会中断选项。