萌芽核心:SC.表视图替代方案



我正在做一个基于SproutCore 1.8的项目。我的应用必须在复杂的表视图中显示大量数据。事实上,表格视图将是应用程序界面的核心元素之一。此外,我可能需要一个大纲/树视图,允许我在类似表视图的界面组件中显示分层数据。

我最初尝试使用 SC.TableView ,但这似乎在 SproutCore 框架的 v1.6 中被弃用。我得到了一个控制台输出,建议使用社区表视图,但没有找到那么多。

我在SC Google群组中发现了一些提示,建议人们应该考虑使用SlickGrid,并且有人在SlickGrid周围编写了一个小型的SproutCore包装器,您可以将其插入到SproutCore应用程序中。我不得不承认,我还没有尝试过这个。

但是,由于我的应用程序不是一个大实验,而且我真的不愿意在标准UI组件上投入太多精力,我希望在复杂的UI框架中随时可用,我想问是否有任何解决方案是可靠的,并且在SproutCore框架中"开箱即用"?

但是,由于我的应用程序不是一个大实验,而且我真的不愿意在标准UI组件上投入太多精力,我希望在复杂的UI框架中随时可用,我想问是否有任何解决方案是可靠的,并且在SproutCore框架中"开箱即用"?

不幸的是,简短的回答是否定的。 Sproutcore是一个很好的框架,有很多优点,但老实说,没有开箱即用的好表视图。

你最好的选择是按照谷歌群组的建议使用SlickGrig。 如果该外部库满足您的所有需求,那么让它与 SC 一起工作并不难。 您将创建一个SC.View 。 实现 didAppendToDocument 方法,并根据其说明在其中初始化光滑网格。 从那里,使用 SC.Event.add 侦听光滑网格 dom 上的事件,并在处理程序中调用应用逻辑。 一定要包裹在SC.run(function(){...}),这样你才能得到一个运行循环。 所以基本上,你正在编写一个代理光滑网格实例的视图。 您将面临的最大挑战是浏览器可计算性问题,使数据的SC表示与SG的内部表示同步(用于排序等(,如果您打算利用SG的许多功能,它可以是一些代码。

另一种选择是滚动自己的网格。 但这需要做更多的工作。

真的,如果SG路径看起来太难了,实际上,你最好使用一个有网格的框架。

相关内容

最新更新