Yii2:使用 kartik 的 ActiveForm 增加 FileInput 宽度

Yii2: Increasing FileInput width using ActiveForm of kartik

一个简单的问题,可惜没有答案:

我正在像这样使用 kartik 的 ActiveForm

<?php
    $form = ActiveForm::begin([
                'id' => 'dynamic-form',
                'type' => ActiveForm::TYPE_INLINE,
                'formConfig' => [
                    'showLabels' => false,
                    'formConfig' => ['deviceSize' => ActiveForm::SIZE_LARGE]
    ]]);
?>

和小部件像这样上传文件

<div class="col-md-12">
        <?=
        $form->field($model, 'attachement[]', ['horizontalCssClasses' => [''deviceSize' => ActiveForm::SIZE_LARGE]])->widget(FileInput::classname(), [
            'options' => ['multiple' => true],
            'pluginOptions' => ['allowedFileExtensions' => ['jpg', 'bmp', 'png', 'docx', 'doc', 'xls', 'xlsx', 'csv', 'ppt', 'pptx', 'pdf', 'txt', 'avi', 'mpeg', 'mp3', 'sql']
            ],
        ])
        ?>
</div>

无论我尝试什么,bootstrap 规则 col-md-12 都将因为使用 TYPE-INLINE 而无效。使用 TYPE-HORIZONTAL 满足我的意图,但我需要 TYPE-INLINE 用于其他输入字段。

有什么想法可以实现我在整个屏幕宽度上显示小部件的意图吗?

如果您尝试将 class col-sm-12 添加到表单组 elements/fields 的容器标签中,那么您可以使用 fieldConfig 选项形式如下

<?php
$form = ActiveForm::begin ( [
            'id' => 'dynamic-form' ,
            'type' => ActiveForm::TYPE_INLINE ,
            'fieldConfig' => [
                'options' => [
                    'class' => 'col-sm-12 form-group' ,
                    'tag' => 'div'
                ]
            ] ,
            'formConfig' => [
                'showLabels' => false ,
                'formConfig' => [ 'deviceSize' => ActiveForm::SIZE_LARGE ]
    ] ] );
?>

并且如果你只想将这个class添加到文件字段的容器div 小部件然后通过 field

的选项添加它
<?=
$form->field ( $modelUpload , 'file',[
    'options'=>['class'=>'form-group col-sm-12'],
] )->widget ( FileInput::classname () , [
    'options' => [ 'multiple' => true ] ,
    'pluginOptions' => [ 'allowedFileExtensions' => [ 'jpg' , 'bmp' , 'png' , 'docx' , 'doc' , 'xls' , 'xlsx' , 'csv' , 'ppt' , 'pptx' , 'pdf' , 'txt' , 'avi' , 'mpeg' , 'mp3' , 'sql' ]
    ] ,
] )
?>