新人求救!Extjs5tree菜单上复选框的选中状态
tree.on('checkchange', function checkchange(node, checked) {
    if (checked) {
        checkParentNode(node.parentNode, checked);
    }
    checkChildNode(node, checked);
});

function checkChildNode(node, checked) {
    if (node == undefined) {
        return;
    }
    node.checked = checked;
    node.ui.toggleCheck(checked);//这是页面上复选框是否被选中吧?为什么我的在这里报错,我用的是extjs5,是这个原因吗?还是其他原因?
    node.eachChild(function (child) {
        checkChildNode(child, checked);
    });
}

function checkParentNode(node, checked) {
    if (node == undefined) {
        return;
    }
    node.checked = checked;
    node.ui.toggleCheck(checked); //这里一样的错误
    checkParentNode(node.parentNode);
}

1个回答

checkchange事件参数node改过了,5+返回的是Ext.data.TreeModel,不是Ext.data.NodeInterface对象了

treemodel条用set更新数据源即可,有用记得采纳。。

   function checkChildNode(node, checked) {
        if (!node) return;
        node.set('checked', checked);////////
        node.eachChild(function (child) {
            checkChildNode(child, checked);
        });
    }

    function checkParentNode(node, checked) {
        if (!node) return;
        node.set('checked', checked);////
        checkParentNode(node.parentNode);
    }
qq_14997753
天空幻城 谢谢指教,问题解决了
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问