qq_14997753
天空幻城
采纳率80%
2015-11-05 01:07

新人求救!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条回答

  • showbo GoCityPass新加坡曼谷通票 6年前

    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);
        }
    
    点赞 评论 复制链接分享

相关推荐