在treeview中,如何再次显示某些记录? (作为收藏夹栏)

In treeview, how to display certain records a second time? (as a favourites bar)

ExtJS 6.0.1

我有一个 Ext.data.TreeStore 里面有数据。条目有一个 属性 "favourite",如果设置为 true 会更新操作栏图标以显示它已被收藏。

这很好用,但在收藏记录时,我希望它出现在顶部,基本上是第二个 section/tree。在这里取消最喜欢的按钮会删除它等。下面是我的意思的模型。

我真的很想在没有重复数据的情况下工作,所以虽然有一个节点 "Favourites" 和 adding/removing 它感觉不是一个好的选择。此外,它会使排序和过滤代码变得非常笨拙。

所以我想以某种方式改变视图以在顶部显示这个额外的部分。

我该怎么做?我必须创建自定义 TreeView 吗?或者覆盖渲染器功能?或者在 beforeRender 中插入 HTML,或者类似的东西?

任何指向方向的观点都将不胜感激,因为这感觉像是我可以花一周时间做错的事情。 谢谢

您最好的选择可能是有一个主面板,顶部有一个网格(包含您的收藏夹),底部有一个树。 然后使用星号点击同步两个面板。

我在这里创建了一个示例:https://fiddle.sencha.com/#view/editor&fiddle/2f44

注意:除了来回复制记录之外,还有其他方法可以实现此目的,这只是为了让您了解如何做到这一点。