我有一个Tabs小部件:
echo Tabs::widget([
'items' => [
[
'label' => 'Add Staff',
'icon' => 'user',
'content' => "Add Staff page loaded here",
'active' => true
],
[
'label' => 'Store Configuration',
'content' => 'Store Configuration page loaded here',
//'headerOptions' => [...],
'options' => ['id' => 'myveryownID'],
],
[
'label' => 'Transaction',
'items' => [
[
'label' => 'Add Transaction',
'content' => 'Add Transaction page loaded here',
],
[
'label' => 'View Transaction',
'content' => 'View Transaction page loaded here',
],
],
],
],
]);
如何在Tab内容中呈现页面(如果可能,不重新加载整个页面)?可能吗?我试过这个:
'content' => "<?= $this->render('createbizstaff', ['searchModel' => $searchModel,'dataProvider' => $dataProvider,]); =>"
但它只会产生此错误:
Getting unknown property: yii\web\View::render
如果你有任何想法如何处理,请告诉我。
答案 0 :(得分:5)
您正在尝试传递需要字符串的PHP表达式。 yii\web\View::render()
返回一个字符串,因此您的代码应为:
'content' => $this->render('createbizstaff', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]),
答案 1 :(得分:0)
尝试使用Pjax小部件。您可以加载该内容的一部分而无需重新加载整个页面。但是当它达到超时并且仍在加载时,它将重新加载整个页面。 查看这个家伙的教程。 http://blog.neattutorials.com/yii2-pjax-tutorial/