官方文档中没有这个功能,我想实现这个功能 , google 了一圈也没看到有相关的实现,我就是想问问,有没有官方的这方面的实现。
我就是想实现图中这样的功能 ,点击新建按钮会有焦点所在的目录下创建新目录 。
简单总结我的意图:在指定的树节点插入新建节点
1
AdamChrist 2017-02-27 09:00:11 +08:00
直接更新 tree 绑定的数据..重新渲染不是可以了么?
还要设置一下 expandedKeys checkedKeys 等等.. |
2
AdamChrist 2017-02-27 09:03:48 +08:00
我说的前提是弹框增加方式.而不是图中的这种增加方式..
|
3
elone OP @AdamChrist #2 我现在可以实现在指定的节点之下创建一个新 input 节点,但是默认看不到,只有在缩起树节点再重新展开的时候 ,新的节点才会渲染出来。有办法解决这个问题吗?
|
4
AdamChrist 2017-02-27 13:40:17 +08:00
这个没有做过类似的..应该是没有 render 的问题..你看下文档最下面的有句话:
"树节点可以有很多,但在设置 checkable 时,将会花费更多的计算时间,因此我们缓存了一些计算结果( this.treeNodesStates )来复用,避免多次重复计算,以此提高性能。但这也带来了一些限制,当你异步加载树节点时,你需要这样渲染树: {this.state.treeData.length ? <Tree>{this.state.treeData.map(data => <TreeNode />)}</Tree> : 'loading tree'} " 看看这不是这个原因造成的?如果还是有问题..那去 GitHub 上提 issue 吧 |
5
elone OP @AdamChrist 好的,谢谢你
|
6
elone OP @AdamChrist #4 搜索了一番之后,发现在 State 改变之后调用 this.forceUpdate(); 就可以实现数据的更新。然而我在 stackoverflow 看到所有人都一致表示 应该尽量避免使用 forceUpdate ,但我还不知道使用它会有什么后果,以及有什么替代的方法。
|