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

时间:2015-01-21 07:47:57

标签: javascript yii2 fancytree

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

我尝试过使用树,容器的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);
        }'),
    ],
],

]);

1 个答案:

答案 0 :(得分:0)

在玩了一些之后我来到了以下解决方案:

我正在查看删除节点后给予该函数的数据参数。在那里,我找到了树,我可以称之为reload()。

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