【问题标题】:Yii2 Progress Bar in a DetailViewDetailView 中的 Yii2 进度条
【发布时间】:2018-12-08 07:38:31
【问题描述】:

我需要在DetailView 小部件中显示进度条。我搜索了它,但我得到了GridView 小部件的解决方案。所以我尝试修改它但没有按预期工作。

<?=DetailView::widget(
    [
        'model' => $model,
        'attributes' =>
        [
            [
                'attribute' => 'progress',
                'label' => 'Activity Progress',
                'type' => DetailView::INPUT_WIDGET,
                'class' => 'yii\bootstrap\Progress',
                'widgetOptions' =>
                [
                    'percent' => 50,
                    'barOptions' => ['class' => 'progress-bar-info'],
                    'options' => ['id' => 'progBar', 'class' => 'active progress-striped']
                ]
            ]
        ]
    ]
)
?>

【问题讨论】:

  • 如果对您有帮助,您能否将答案标记为正确?

标签: yii2 yii2-widget


【解决方案1】:

您只需将列format 设置为raw 并从value 选项返回小部件输出,如下所示我在DetailView 中使用了yii\bootstrap\Progress 小部件

<?php echo DetailView::widget(
    [
        'model' => $model,
        'attributes' =>
        [
            [
                'attribute' => 'progress',
                'label' => 'Activity Progress',
                'format' => 'raw',
                'value' => function ($model) {
                    // striped animated
                    return \yii\bootstrap\Progress::widget(
                        [
                            'percent' => 70,
                            'options' => ['class' => 'progress-success active progress-striped'],
                        ]
                    );
                },
            ],
        ],
    ]
)
?>

如果您在数据库中有一个名为 progress 的字段以整数格式保存行的当前进度,您可以将 $model-&gt;progress 传递给 yii\bootstrap\Progress 小部件中的 percent 选项,例如 "percent"=&gt;$model-&gt;progress .

【讨论】:

    猜你喜欢
    • 2017-07-10
    • 1970-01-01
    • 2016-03-24
    • 2016-05-05
    • 2017-03-26
    • 2017-07-18
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    相关资源
    最近更新 更多