细节视图中的Yii2进度条

细节视图中的Yii2进度条,yii2,yii2-widget,Yii2,Yii2 Widget,我需要在DetailView小部件中显示进度条。我搜索了它,但找到了GridView小部件的解决方案。因此,我尝试修改它,但没有按预期工作 <?=DetailView::widget( [ 'model' => $model, 'attributes' => [ [ 'attribute' => 'progress', 'labe

我需要在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']
                ]
            ]
        ]
    ]
)
?>

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


如果数据库中有一个名为progress的字段,该字段以整数格式保存行的当前进度,则可以将$model->progress传递给yii\bootstrap\progress小部件中的百分比选项,如百分比=>$model->progress。

如果ans对您有所帮助,您是否可以将其标记为正确?
<?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'],
                        ]
                    );
                },
            ],
        ],
    ]
)
?>