跳到内容

iCheck

编辑此页

管理后台自带 iCheck 集成。 iCheck 是一个基于 jQuery 的复选框和单选按钮皮肤插件。它为复选框和单选按钮的自定义提供了一个跨浏览器且可访问的解决方案。

默认情况下,iCheck 插件在所有 checkboxradio 表单元素上启用。

禁用 iCheck

如果您不想在管理后台中使用 iCheck,您可以在配置中禁用它。

1
2
3
4
5
# config/packages/sonata_admin.yaml

sonata_admin:
    options:
        use_icheck: false # disable iCheck

在某些表单元素上禁用 iCheck

要在某些 checkboxradio 表单元素上禁用 iCheck,请将数据属性 data-sonata-icheck = "false" 设置为此表单元素

1
2
3
4
5
6
7
8
9
10
11
12
13
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Form\Type\ModelType;

protected function configureFormFields(FormMapper $form): void
{
    $form
        ->add('category', ModelType::class, [
            'attr' => [
                'data-sonata-icheck' => 'false'
            ]
        ])
    ;
}

注意

您必须使用字符串 false!"false"

当使用 Sonata\AdminBundle\Form\Type\ChoiceFieldMaskType (或从它继承的其他类型)以及 expanded: true 选项(使用复选框或单选按钮渲染表单类型)时,有必要在其选择元素上设置 data-sonata-icheck 属性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Form\Type\ModelType;
use Sonata\AdminBundle\Form\Type\ChoiceFieldMaskType;

protected function configureFormFields(FormMapper $form): void
{
    $form
        ->add('category', ChoiceFieldMaskType::class, [
            'expanded' => true,
            'placeholder_attr' => [
                // the placeholder (if any) needs also the data-sonata-icheck attr too since is rendered as
                // checkbox or radio button
                'data-sonata-icheck' => 'false'
            ],
            'choice_attr' => [
                'val1' => ['data-sonata-icheck' => 'false'],
                'val2' => ['data-sonata-icheck' => 'false'],
                // ...
            ],
        ])
    ;
}
本作品,包括代码示例,根据 Creative Commons BY-SA 3.0 许可协议获得许可。
目录
    版本