刚开始接触这个组件时,别网上那些文章所误导,总觉得这个东西就需要很复杂的递归才可以完成,但是在我的认真理解后才领悟,其实复杂的递归部分都是UE已经帮你封装了,你并不需要去思考那些UMG或者更深的Slate内部的实现,你只有知道UTreeView这个UMG最重要的方法是On BP on Get Item Children
这个方法他就是从他的父组件中的Children中拿Object,它这个item以什么样的样式展示出来全靠
这个UMG长什么样你的列表就是什么样。至于Item是什么呢,你可以把它看成是数据,这个类他就是放没每一条中存放数据,Item嘛就是元素,一个父栏有很多子栏嘛,子栏也可能会有孙子栏嘛等等没完没了的。一个item它也可以看着是一个人,他有两种身份,父亲或儿子,如果他是一个树形表的开始那他就是最大的是个大父亲,那么他后面还有儿子,那这个儿子呢也会有两种身份父亲或儿子,直到这个Item是最小的了他最后了没有了儿子,那这个树形表也就展示到最后了。
那么当你理解了这一点,那说白了不就是给一个父亲(Item)添儿子嘛。
这个里的Additem就是在给UTreeView加入一个Item其他没别的。
这以上呢是Item的解释。
那么回到这个EntryWidget_UMG这个东西就是你每一条展示的样式就是那些父亲儿子到底是什么样子呈现出来的,这里就要使用On List Item Object Set这个接口了,它就是初始样貌的,你这个要展示成什么样式就在这里设置我们最常用的就是控制缩进,这样才能展示出层级关系嘛。