我有一个组件,它从 Ext.button.Button 扩展而来,还有另一个组件 wrappanel,它负责布置自定义按钮组件。
我的问题是,wrappanel 组件计算传递给它的项目的宽度并且需要item.el
可用。item.el
在组件渲染之前不可用,但是渲染会延迟到所有组件都准备好之后。
如何确保我的子组件的 .el 可供父组件使用?谢谢。
计算子项的宽度是布局管理器的责任,而不是容器。但是,根据您的 Ext JS 版本,如果您对代码库不满意,编写自定义布局可能是一项艰巨的任务。
如果您使用的是 4.1.0 或更高版本,请查看Ext.layout.Context以获得布局过程的最终参考指南。4.1 版本标志着布局系统的巨大变化,以解决性能问题的报告,因此如果您使用的是 4.0.7 或更早版本,那里的信息将无法帮助您。
4.1 的布局更难让你理解(在我看来),所以我建议在尝试定制之前尝试哄骗现有的布局来满足你的要求。如果你是 4.0.7 或更早版本,它会更容易一些,所以你可能会有更多的灵活性。