我有一个树库,其中所有节点都检查了初始配置:false,这样就会出现一个复选框,允许用户检查treepanel中的项目。然后,我从树库中获取已检查的项目,并将它们移动到另一个树库,在另一个树面板中。我的问题是,在移动节点时,如何确保它未在树形板中检查它被移动到?
这就是我所做的:
我已经获得了对我正在移动的节点的引用(添加到一个商店,从另一个商店删除),并且我已经设置了它的配置检查:false。当我在新的treestore中查看firebug中的节点时,果然,检查:false,这是我想要的,但是,在面板中,在视觉上,它仍然被检查。那么如何取消选中?
答案 0 :(得分:0)
有几个原因导致这种情况发生。
新列的dataIndex与旧列的dataIndex不匹配(在使用treegrid的情况下)
在两种情况下,分配给两个商店的模型都不是相同的Ext.data.Model。
我注意到如果你没有专门将这个配置选项添加到你的Ext.data.Model中,那么treenodes和属性就会失效。因此,尝试将同一模型分配给两个树,并将“已检查”作为带有dataType的字段之一:“boolean”
答案 1 :(得分:0)
上周我遇到了同样的问题。 我上周做了这样的操作来解决它:
currentNode.data.checked = false;
currentNode.raw.checked = false ;
currentNode.triggerUIUpdate();
如果没有triggerUIUpdate
,它似乎无效。我正在使用extjs4.2.1