我有一个如下所示的标签小部件。
<?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“)处于打开状态,其他选项卡处于关闭状态。当我们单击某个选项卡而其他选项卡处于关闭状态时,如何使该选项卡处于活动状态。
答案 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'
],
],
])
?>