Yii2标签激活不起作用

问题描述 投票:0回答:2

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

<?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')处于打开状态,其他标签处于关闭状态。如何在我们点击它和其他人关闭时激活标签。请帮助我。

yii2
2个回答
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
投票

我的理解是,当您单击页面重定向的任何选项卡时,您不希望在单击任何选项卡时重新加载或重定向页面。如果这是正确的,那么这是因为您正在使用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'
        ],
    ],
])
?>
© www.soinside.com 2019 - 2024. All rights reserved.