gpt4 book ai didi

javascript - Sencha 中的树面板复选框

转载 作者:行者123 更新时间:2023-11-28 04:47:46 25 4
gpt4 key购买 nike

我遇到了 Sencha 树面板复选框的问题。如果我选中子节点复选框,我想自动选中父节点的复选框。目前我需要检查它,甚至检查子节点。

下图显示了正在发生的事情..

enter image description here

最佳答案

向包含复选框的列添加监听器:

columns: [
{
xtype: 'checkcolumn',
listeners: {
checkchange: 'onCheckcolumnCheckChange'
}
},
// ....
]

然后使用此函数在检查事件上检查/取消检查父节点

onCheckcolumnCheckChange: function(checkcolumn, rowIndex, checked, eOpts) {
var view = this.getView();
var item = this.getStore().data.items[rowIndex];
var columnName = checkcolumn.dataIndex;

// User unchecked a row: refresh the view
if(!checked){
view.refresh();
return;
}

// User checked a row: unselect all parents
var parentNode = item.parentNode;
while(typeof parentNode != 'undefined' && parentNode !== null && !parentNode.data.root){
parentNode.set(columnName, false);
parentNode = parentNode.parentNode;
}

// Then uncheck all childs (recusif)
(function doChild(children){
if(typeof children == 'undefined' || children === null || children.length <= 0)
return;

for(var i=0; i<children.length; i++){
children[i].set(columnName, false);
doChild(children[i].childNodes); // <= recursivity
}
})(item.childNodes);

view.refresh();
}

关于javascript - Sencha 中的树面板复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43202488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com