如何在删除节点后使用 fancytree 小部件 (Yii2) 重新加载整个树

How to reload a the entire tree using fancytree widget (Yii2) after dropping a node

我希望我的树在我删除一个节点后重新加载。问题是我似乎无法弄清楚如何调用树上的函数。

我试过使用 tree,容器的 id,fancytree,随便你怎么说.. 这是我加载 fancytree 小部件的来源:

echo FancytreeWidget::widget([
'options' =>[
    'source' => $chapters,
    'extensions' => ['dnd'],
    'icons' => false,
    'activeVisible' => true,
    'dnd' => [
        'preventVoidMoves' => true,
        'preventRecursiveMoves' => true,
        'autoExpandMS' => 400,
        'dragStart' => new JsExpression('function(node, data) {
            startNode = node;
            return true;
        }'),
        'dragEnter' => new JsExpression('function(node, data) {
            return true;
        }'),
        'dragDrop' => new JsExpression('function(node, data) {
            dropNode = node;
            data.otherNode.moveTo(node, data.hitMode);
            updatePosition();
            node.render(force=true);
        }'),
    ],
],

]);

经过更多尝试后,我得出了以下解决方案:

我正在查看删除节点后提供给函数的数据参数。在那里我找到了可以调用 reload() 的树。

'dragDrop' => new JsExpression('function(node, data) {
            data.otherNode.moveTo(node, data.hitMode);
            dropNode = node;
            updatePosition();
            data.tree.reload();
        }'),