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' ]
] ,
] )
?>
一个简单的问题,可惜没有答案:
我正在像这样使用 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' ]
] ,
] )
?>