自定义控件中的多级设计定义

Multi-level design definition in a custom control

我定义了一个具有多级的自定义控件 属性 定义: 我正在尝试编写我的设计定义。我可以像这样轻松访问 textcenter 和 centerblock 属性:

Center text = <%=this.textcenter %>
Center block = <%=this.centerblock %>

但是,我无法访问我的设计定义中 width 和 offset 文件夹中的属性。 我试过了

Column Offset xs= <%=this.offset.xs%>

但它不起作用。

是的,这是核心代码中的错误(即无法在 extlib 版本中修复)。该代码仅处理包含 String/primitive 或集合的自定义属性,因此它不处理非集合的嵌套对象。

正如我所建议的,您可以通过将自定义组更改为 "allow multiple instances" 并在设计定义中引用它来解决此问题。你只需要小心处理没有定义 属性 的情况:

Column Offset xs= <%= (null != this.offset && this.offset.length > 0 ? this.offset[0].xs : 'default') %>

不理想,但暂时解决了这个问题。