Skip to content

treeDataSimpleMode 选项的意义? #92

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
MwumLi opened this issue Jan 11, 2018 · 6 comments
Closed

treeDataSimpleMode 选项的意义? #92

MwumLi opened this issue Jan 11, 2018 · 6 comments

Comments

@MwumLi
Copy link

MwumLi commented Jan 11, 2018

看了文档和示例以及一些issue,不是太懂这个选项的意义
然后看了源码 export function processSimpleTreeData, 才发现仅仅是做了应对treeData数据中 key 不是 id 的情况, 并且不破坏原有数据
所以, treeDataSimpleMode 选项的意义是我理解的这样吗?

@yesmeck
Copy link
Member

yesmeck commented Jan 11, 2018

还处理了父子关系。

@yesmeck yesmeck closed this as completed Jan 11, 2018
@MwumLi
Copy link
Author

MwumLi commented Jan 12, 2018

@yesmeck 你所说的处理父子关系, 是指 export function processSimpleTreeData 里面的 parent.children = children;吗?

@yesmeck
Copy link
Member

yesmeck commented Jan 12, 2018

对。

@MwumLi
Copy link
Author

MwumLi commented Jan 12, 2018

那么我觉得这个 treeDataSimpleMode 这个选项表达的设计意图就不是那么清楚了,父子关系处理完全是 export function processSimpleTreeData 这个函数做的, 而不是 treeDataSimpleMode 所表达的设计意图, 所以 treeDataSimpleMode 仅仅只是做到了指定 key 的键的用处, 如果是我, 我可能仅仅会指定一个 props 来明确指定这个 key 值, 类似组件里 treeNodeFilterProp 这个选项一样, 目的明确, 用法简单

我不知道你们之后是否会对于这个选项做更多的考虑, 比如考虑到大量数据下, 为了性能优化, 只保留 treeDataSimpleMode 中的指定的数据项.

@yesmeck
Copy link
Member

yesmeck commented Jan 12, 2018

😳 这个属性 treeDataSimpleMode 只是说你可以传非树状结构的数据给组件。跟性能什么的没有关系。。。当然树组件非常需要性能上的优化,如果你有兴趣,欢迎一起来看看怎么来做优化比较好。

@MwumLi
Copy link
Author

MwumLi commented Jan 12, 2018

懂你的意思了, 我刚重新看了一下源码, 是我之前看错了, export function processSimpleTreeData 这个函数是把一层数组转化为树形结构
不过treeDataSimpleMode 这个选项我只是看文档介绍确实没懂意思
至于我上面说的优化, 是我以为 treeDataSimpleMode 只是指定key的键, 没有其他用处, 猜想你们将来会使用 treeDataSimpleMode 这个结构来保留树状数据需要的数据, 舍弃其他的无用属性, 从而提高在大数据的性能优化(存储优化)
好了, 现在明白你们这个选项的设计意图了,thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants