我的问题很简单:我想创建一个具有字符串属性 Type 的复合组件。<cc:attribute name="type" />
该属性将有 3 个可接受的值,[TYPE1, TYPE2, TYPE3]
是否可以说我的组件只接受这些值?
最佳答案
不幸的是,您不能在 cc 接口(interface)中对复合组件属性值施加编译/构建时间限制。但是,您可以通过检查 cc 实现中的值来设置运行时限制。
<ui:param name="type" value="#{cc.attrs.type}" />
<ui:fragment rendered="#{type == 'TYPE1' or type == 'TYPE2' or type == 'TYPE3'}">
<p>The type is TYPE1, TYPE2 or TYPE3.</p>
<p>Write your component's body here.</p>
</ui:fragment>
那将是你最好的选择。
关于attributes - 复合组件属性中的枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7902547/