为 EntityType 设置数据属性(Sonata Admin)
Set data attribute for EntityType (Sonata Admin)
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('category', EntityType::class, [
'required' => false,
'class' => CashTransactionCategory::class,
'label' => 'Category *',
'attr' => [
'class' => 'js-cash_category',
'placeholder' => 'Select a category'
]
]);
}
这是一个 Select2 类型的输入,我正在尝试为每个属性设置类似 data-flag="flag" 的内容。该标志在数据库中设置。可以制定一个解决方法并为每一行设置一个数据属性吗?
我找到了一个简单的解决方案,但这是错误的:
$builder
->add('category', EntityType::class, [
'required' => false,
'class' => CashTransactionCategory::class,
'label' => 'Category *',
'attr' => [
'class' => 'js-cash_category',
'placeholder' => 'Select a category',
],
'choice_attr' => function ($object) {
return ['data-flag' => $object->getFlag()];
}
]);
那是因为我使用的是 EntityType 而不是 ChoiceType。 (也许这会对某人有所帮助)
我的 Symfony 版本:3.3.9
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('category', EntityType::class, [
'required' => false,
'class' => CashTransactionCategory::class,
'label' => 'Category *',
'attr' => [
'class' => 'js-cash_category',
'placeholder' => 'Select a category'
]
]);
}
这是一个 Select2 类型的输入,我正在尝试为每个属性设置类似 data-flag="flag" 的内容。该标志在数据库中设置。可以制定一个解决方法并为每一行设置一个数据属性吗?
我找到了一个简单的解决方案,但这是错误的:
$builder
->add('category', EntityType::class, [
'required' => false,
'class' => CashTransactionCategory::class,
'label' => 'Category *',
'attr' => [
'class' => 'js-cash_category',
'placeholder' => 'Select a category',
],
'choice_attr' => function ($object) {
return ['data-flag' => $object->getFlag()];
}
]);
那是因为我使用的是 EntityType 而不是 ChoiceType。 (也许这会对某人有所帮助)
我的 Symfony 版本:3.3.9