php - 如何在 Symfony 表单中设置下拉列表的子元素样式
问题描述
我正在尝试设置 symfony 表单的下拉选项(标签和复选框)的样式,但遇到了问题。我可以为渲染的复选框和标签组设置样式,但不能单独设置每个项目(配对标签+复选框)。
我尝试通过以下方式设置它们的样式:
{{ form_widget(form.qualifications, {'attr': {'class':'d-block'} }) }}
但正如文档中详述的那样,这仅将样式应用于父元素(要选择的渲染选项组),而不是每个单独的选项。
这是创建小部件的 symfony 表单构建器部分
->add('qualifications', EntityType::class, [
'class' => Tag::class,
'multiple' => true,
'expanded' => true,
'required' => false,
'placeholder' => 'Select...',
'choices' => $this->tagsService->getTagsQualificationLevels(),
'attr' => [
'class' => 'form-control-ajax-submit-on-change w-20',
]
])
我希望能够将样式应用于选择数组,但我真的坚持如何做到这一点。
解决方案
您可以使用 choice_attr 选项:
->add('qualifications', EntityType::class, [
'class' => Tag::class,
'multiple' => true,
'expanded' => true,
'required' => false,
'placeholder' => 'Select...',
'choices' => $this->tagsService->getTagsQualificationLevels(),
'attr' => [
'class' => 'form-control-ajax-submit-on-change w-20',
],
'choice_attr' => function($choiceValue, $key, $value) {
return ['class' => 'my_custom_choice_class'];
},
])
推荐阅读
- android - 调试在 fastlane 期间出现 apkNotificationMessageKeyUpgradeVersionConflict 的原因
- botframework - 如何在 nodejs V4 Bot 中处理 Action.Submit
- xpath - 从没有属性的div中提取文本
- sql-server - 可以使用参数定义重叠过滤器集吗?
- c# - 客户端应用程序发布但在本地工作时无法从商店中找到证书
- c# - 需要从 .NET Winforms 控件的 PropertyGrid 中隐藏仅设计器的属性(第二部分)
- python - Python asammdf 库需要依赖项
- oop - 观察者面向对象的设计模式只是实现回调的一种形式吗?
- powershell - 在 PowerShell 的复制项中使用测试路径?
- powershell - 如何在 powershell 中打开 csv 文件并删除包含空白数据的行、更改列顺序并写出结果