【问题标题】:How to setup Bootstrap4 ToggleButtonGroup in Yii 2 with model?如何在 Yii 2 中使用模型设置 Bootstrap4 ToggleButtonGroup?
【发布时间】:2019-09-05 11:22:30
【问题描述】:

当我使用 yii\bootstrap4\ToggleButtonGroup 小部件时,我遇到了 2 个主要问题:
1.标签内嵌按钮
2. 不出现错误字段

我尝试访问标签“样式”属性,但没有成功。 如果我的字段具有“必需”规则,还检查了我的模型。

这是我的视图小部件:

<?php 
    echo $form->field($model, 'my_field', ['options' => []])->widget(\yii\bootstrap4\ToggleButtonGroup::class, [
    'type' => \yii\bootstrap4\ToggleButtonGroup::TYPE_RADIO,
        'items' => [
            '0' => 'No',
            '1' => 'Yes'
        ],
        'options' => [
            'class' =>'btn-group btn-group-toggle'
        ],
            'labelOptions' => [
            'class' => ['btn', 'btn-secondary'],
            'wrapInput' => false
        ]
    ]);
?>

我希望在 ToggleButtonGroup 上有标签(在新行中),并且我希望在未单击任何按钮并提交表单时看到错误字段“此字段是必需的”。

感谢您的帮助。

【问题讨论】:

    标签: php twitter-bootstrap yii2


    【解决方案1】:

    您可以通过添加 'label'=>false 来禁用标签并手动添加一个

     <P> Yes or NO </p>
    
    <?php 
        echo $form->field($model, 'my_field', ['options' => []])->widget(\yii\bootstrap4\ToggleButtonGroup::class, [
        'type' => \yii\bootstrap4\ToggleButtonGroup::TYPE_RADIO,
            'items' => [
                '0' => 'No',
                '1' => 'Yes'
            ],
            'options' => [
                'class' =>'btn-group btn-group-toggle'
            ],'label'=>false,
        ]);
    ?>
    or ad
    

    或向标签添加自定义类

     'labelOptions' => [
                'class' => ['btn', 'btn-secondary Customclass'],
                'wrapInput' => false
            ]
    

    并为您的样式添加自定义 CSS 类

    .自定义类{ 宽度:100%; /* 附加属性 */ }

    【讨论】:

    • 添加自定义 css 类只是工作。舒尔我可以禁用标签,但我可以在哪里设置这个属性:'label' => false ????
    • 试试这个 field($model, 'my_field', ['options' => []])->widget(\yii\bootstrap4\ToggleButtonGroup::class , [ 'type' => \yii\bootstrap4\ToggleButtonGroup::TYPE_RADIO, 'items' => [ '0' => 'No', '1' => 'Yes' ], 'options' => [ 'class ' =>'btn-group btn-group-toggle' ],'label'=>false, ]); ?>
    • 它没有工作...得到错误:“设置未知属性:yii\bootstrap4\ToggleButtonGroup::label”
    • 这个答案是可以接受的...谢谢
    【解决方案2】:

    下面的代码可以正常工作。

    1.带模型

    <? echo $form->field($model, 'model_attribute')->widget(\yii\bootstrap\ToggleButtonGroup::classname(), [
        'type' => 'radio', //or 'checkbox'
        'items' => $model_attribute_options,
        'labelOptions' => [
            'class' => ['btn', 'btn-primary Customclass'],
            'wrapInput' => true
        ],
        'value' =>  [$model->model_attribute] //pass comma separated values for multi selection for checkbox type
    ]) ?>
    

    2。没有模型

    <?php 
    echo ToggleButtonGroup::widget([
        'name' => 'sport',
        'type' => 'radio', //or 'checkbox'
        'items' => [
            0 => 'Soccer',
            1 => 'Basket',
            2 => 'Tennis',
        ],
        'value' =>  [0] //pass comma separated values for multi selection for checkbox type
     ]);
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-27
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多