賞金明天到期。_ 此問題的答案有資格獲得 50聲望賞金。 michnovka正在從有信譽的來源尋找答案。
我想為類創建一個自定義型別EntityType以Admin利用代碼重用,我有以下代碼:
class AdminEntityType extends AbstractType
{
public function getParent(): string
{
return EntityType::class;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'class' => Admin::class,
'label' => 'Admin :',
'multiple' => false,
]);
}
}
我想$options['attr']['class']根據$options['multiple']價值進行修改。就像是:
public function buildView(FormView $view, FormInterface $form, array $options)
{
if ($options['multiple']) {
$options['attr']['class'] = 'form-control select select2-hidden-accessible';
} else {
$options['attr']['class'] = 'form-control select-search';
}
parent::buildView($view, $form, $options);
}
但是代碼不起作用。什么是正確的方法?
在我的表格中,我想使用
$builder->add(
'admin',
AdminEntityType::class,
[
'multiple' => true
]
);
并決定對multiple引數有影響的attr.class引數。
使用 Symfony 5.4
uj5u.com熱心網友回復:
最后,我設法獲得了這樣的所需功能:
public function buildView(FormView $view, FormInterface $form, array $options)
{
parent::buildView($view, $form, $options);
if ($options['multiple']) {
$view->vars['attr']['class'] = 'form-control select select2-hidden-accessible';
} else {
$view->vars['attr']['class'] = 'form-control select-search';
}
}
不確定它是否正確
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/460455.html
