博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Extjs4.2 TreeView TreeStore 移除节点不触发delete(remove node don't trigger delete method)
阅读量:5297 次
发布时间:2019-06-14

本文共 1193 字,大约阅读时间需要 3 分钟。

当我们操作treeview的时候,新增节点,如果成功则新增node,如果失败的话我们不想node还显示出来,可以通过监听sync的failure事件,失败时候移除node,但是第一次肯定达到了预期效果,这时候如果我们再新增一个node,也是失败的情况,就会触发两个事件,一个是本次的node add,另一个是上次的node delete。

API介绍,移除树节点的时候可以通过node.remove(true),来禁止触发delete方法,但是每次都提示错误:Cannot call method 'indexOf' of undefined

无奈,根据原理,删除后的节点其实是存放在removed数组里面的,我们只需要将这个数组清空即可。

var mg = this.getModuleGrid()                    var selModel = mg.getSelectionModel();                    records = selModel.getSelection();                    module["ModuleParent"] = records[0].data.id;                    _node = records[0].appendChild(module);                    mstore.sync({                        success: function (batch, options) {                            if (records[0].get("leaf")) {                                records[0].set("leaf", false);                            }                            records[0].expand();                        },                        failure: function (batch, options) {                            records[0].removeChild(_node);//removeChild(_node,true)异常                            mstore.removed = [];                        }                    });

 

转载于:https://www.cnblogs.com/qidian10/p/3482659.html

你可能感兴趣的文章
Django 1.6 CBVs
查看>>
Fitnesse用系列三
查看>>
游戏碰撞OBB算法(java代码)
查看>>
Scriptcase演示程序,现在,他们使用SC多么简单的开发系统
查看>>
ZOJ 3623 Battle Ships 简单DP
查看>>
asp.net webconfig下的httphandler模块配置
查看>>
数据库Schema两种含义~~
查看>>
堆排序算法
查看>>
arcgis_server_address_note
查看>>
Bitmap的recycle问题
查看>>
CMYK
查看>>
使用bootstrap制作网站导航
查看>>
新笔记
查看>>
windows环境下把Python代码打包成独立执行的exe可执行文件
查看>>
PHP底层的运行机制与原理
查看>>
2018.09.09 DL24 Day2总结
查看>>
SDOI2011 染色
查看>>
2017《面向对象程序设计》课程作业五
查看>>
从源码的角度分析Volley加载数据的过程
查看>>
LSI SAS3008 RAID配置方法
查看>>