Yii2选项卡活跃不起作用

时间:2018-08-08 12:33:35

标签: yii2

我有一个如下所示的标签小部件。

<?php
echo \yii\bootstrap\Tabs::widget([
    'items' => [
        [
            'label' => 'Administrators',
            'url' => Url::to(['/admin/admin']),
        ],
        [
            'label' => 'Members Tracker',
            'url' => Url::to(['/admin/members']),
        ],
        [
            'label' => 'Pages',
            'url' => Url::to(['/admin/pages']),
        ],
    ],
]); 
?>

标签正确显示。但是主动模式不适用于其他选项卡。仅活动选项显示在第一个选项卡上。如果我们单击其他选项卡(“成员跟踪器”,“页面”),它将正确路由并可以查看页面内容。但是tab1('Administrators“)处于打开状态,其他选项卡处于关闭状态。当我们单击某个选项卡而其他选项卡处于关闭状态时,如何使该选项卡处于活动状态。

2 个答案:

答案 0 :(得分:1)

Yii2 Bootstrap Tabs Widget中,您可以使用active选项。

例如,在AdminController中将$action设置为当前操作并传递到视图文件:

<?= \yii\bootstrap\Tabs::widget([
     'items' => [
         [
             'label' => 'Administrators',
             'url' => Url::to(['/admin/admin']),
             'active' => $action == 'admin',
         ],
         [
             'label' => 'Members Tracker',
             'url' => Url::to(['/admin/members']),
             'active' => $action == 'members',
         ],
         [
             'label' => 'Pages',
             'url' => Url::to(['/admin/pages']),
             'active' => $action == 'pages',
         ],
     ],
]); ?>

答案 1 :(得分:1)

我了解的是,当您单击任何选项卡时,页面都会重定向,并且您不希望在单击任何选项卡时重新加载或重定向页面。 如果正确,那是因为您使用的是url选项,并且它采用了完整的路由并重定向到该URL,要使用基本的标签功能,您必须使用content选项来显示文本所需的标签,也可以加载视图,请参见下面的

<?php
echo \yii\bootstrap\Tabs::widget([
    'items' => [
        [
            'label' => 'Administrators',
            //using a view file
            'content' => $this->render('some-view'),
        ],
        [
            'label' => 'Members Tracker',
            //using static content
            'content' => 'This is some content for Member Tracker Tab'
        ],
        [
            'label' => 'Pages',
            'content' => 'This is some content for Pages Tab'
        ],
    ],
])
?>