<?php

use efureev\widget\TreeView;
use yii\web\JsExpression;
$items = [['text' => 'Parent 1', 'nodes' => [['text' => 'Child 1', 'nodes' => [['text' => 'Grandchild 1'], ['text' => 'Grandchild 2']]], ['text' => 'Child 2']]], ['text' => 'Parent 2']];
$onSelect = new JsExpression(<<<JS
function (undefined, item) {
    console.log(item);
}
JS
);
$groupsContent = TreeView::widget(['data' => $data, 'size' => TreeView::SIZE_SMALL, 'clientOptions' => ['onNodeSelected' => $onSelect, 'selectedBackColor' => 'rgb(40, 153, 57)', 'borderColor' => '#fff']]);
<?php

use yii\widgets\Pjax;
use yii\web\JsExpression;
use efureev\widget\TreeView;
Pjax::begin(['id' => 'pjax-container']);
echo \yii::$app->request->get('page');
Pjax::end();
$onSelect = new JsExpression(<<<JS
function (undefined, item) {
    if (item.href !== location.pathname) {
        \$.pjax({
            container: '#pjax-container',
            url: item.href,
            timeout: null
        });
    }

    var otherTreeWidgetEl = \$('.treeview.small').not(\$(this)),
        otherTreeWidget = otherTreeWidgetEl.data('treeview'),
        selectedEl = otherTreeWidgetEl.find('.node-selected');
    if (selectedEl.length) {
        otherTreeWidget.unselectNode(Number(selectedEl.attr('data-nodeid')));
    }
}
JS
);
$items = [['text' => 'Parent 1', 'href' => Url::to(['', 'page' => 'parent1']), 'nodes' => [['text' => 'Child 1', 'href' => Url::to(['', 'page' => 'child1']), 'nodes' => [['text' => 'Grandchild 1', 'href' => Url::to(['', 'page' => 'grandchild1'])], ['text' => 'Grandchild 2', 'href' => Url::to(['', 'page' => 'grandchild2'])]]]]]];
echo TreeView::widget(['data' => $items, 'size' => TreeView::SIZE_SMALL, 'clientOptions' => ['onNodeSelected' => $onSelect]]);