zoukankan      html  css  js  c++  java
  • Extjs 中 Treepanel 实现级联选中效果

    treepanel 里添加以下代码即可实现级联选中效果

    主要实现了以下效果:

    1.点击父级批量设置所有子节点选中状态

    2.点击当前节点寻找所有父级并设置选中状态

    3.取消当前节点并取消所有子节点选中状态

    4.取消当前节点根据需要取消上级节点的选中状态

     1 listeners:{
     2     checkchange:function(node,checked,eOpts){
     3 
     4         // 批量设置子节点选中效果
     5         function setChildChecked(pNode){
     6             pNode.set('checked',checked);
     7             pNode.eachChild(function(child){
     8                 setChildChecked(child);
     9             })
    10         }
    11         setChildChecked(node);
    12 
    13         // 当前节点取消选中时 需要判断当前节点的父节点下的所有子节点是否都不是选中状态
    14         function setParentCheckedFalse(currentNode){
    15             var parentNode = currentNode.parentNode,
    16                 isValid = true;
    17             if(parentNode != null){
    18                 if(checked == false){
    19                     parentNode.eachChild(function (child) {
    20                         if(child.get('checked') != false){
    21                             isValid = false;
    22                             return false;
    23                         }
    24                     });
    25                     if(isValid){
    26                         parentNode.set('checked',checked);
    27 
    28                     }
    29                 }else{
    30                     parentNode.set('checked',true);
    31                 }
    32                 setParentCheckedFalse(parentNode)
    33             }
    34         }
    35         setParentCheckedFalse(node);
    36     }
    37 }
  • 相关阅读:
    OI回忆录
    【CSP2019】题解合集
    微电影《Junior·BQB》——剧本
    【UOJ139】【UER #4】被删除的黑白树
    NOIWC2019 冬眠记
    THUWC2019 划水记
    【XSY3413】Lambda
    【BZOJ3065】带插入区间k小值
    【BZOJ3600】没有人的算术
    【BZOJ4864】【BJWC2017】神秘物质
  • 原文地址:https://www.cnblogs.com/banywl/p/7410456.html
Copyright © 2011-2022 走看看