我在这里遇到了一些概念问题。
我必须为我的每张桌子写一个搜索窗口。此窗口仅在组合框内容(要搜索的字段名称)和网格列(结果)中有所不同。
extjs 中最好的方法是什么:
- 编写一个基本窗口并在子类中定义组合列和网格列。
- 为每个窗口写一个不同的类?
特别是我更喜欢第一个选项,但我坚持从子类配置此属性。
我在这里遇到了一些概念问题。
我必须为我的每张桌子写一个搜索窗口。此窗口仅在组合框内容(要搜索的字段名称)和网格列(结果)中有所不同。
extjs 中最好的方法是什么:
特别是我更喜欢第一个选项,但我坚持从子类配置此属性。
这里的答案可能取决于可重用代码的数量与您需要自定义的代码量。
如果您可以将 70-80% 的通用可重用代码放在那里,您可以构建一个所有其他人都将扩展的基类。然后每个特定的类将扩展这个基类并自定义其余部分。您可以通过编写一组从 initComponent 调用的函数来构建您的窗口,从而提高自定义的难度。然后每个子类将只覆盖将其与基类区分开来所必需的函数。
如果可重用代码的数量要高得多,例如 90%+,那么最好编写一个类,然后在实例化期间传入单独的配置覆盖,如下所示:
Ext.create('MySearchView', { title:'My Custom title', fieldSelector:myComboConfig});
此外,浏览示例代码,您可能会发现有趣的重用案例。