对于xp:inputtext控件我想添加属性[aria-required ='true'],但我想知道如何通过attributes属性实现这一点而无需设置标签?
我试过了:
<xp:this.attrs>
<xp:attr>
<xp:this.value><![CDATA[[aria-required='true']]]></xp:this.value>
</xp:attr>
</xp:this.attrs>
Run Code Online (Sandbox Code Playgroud)
但后来我得到了错误信息:
说明资源路径位置类型xp:attr的必需属性"name"不存在.
我不确定我是什么意思"无需设置标签".
<xp:attrs>拥有一个或多个<xp:attr>组件的集合.然后该<xp:attr>组件包含2个属性name=(仅限String)和value=(仅限String).
因此,如果要为HTML对应标记设置自定义属性,则必须编写:
<xp:inputText ...>
<xp:this.attrs>
<xp:attr name="aria-required" value="true" />
</xp:this.attrs>
</xp:inputText>
Run Code Online (Sandbox Code Playgroud)
如果您希望自动化某些属性的存在,您还可以定义主题规则并应用它(当然,如果您通常将其他样式和/或规则应用于输入,则必须确保在新的中再次重复它们规则):
<control>
<name>Input.AriaRequired</name>
<property>
<name>attrs</name>
<complex type="xp_attr">
<property>
<name>name</name>
<value>aria-required</value>
</property>
<property>
<name>value</name>
<value>true</value>
</property>
</complex>
</property>
</control>
Run Code Online (Sandbox Code Playgroud)
<xp:inputText themeId="Input.AriaRequired" ... />
Run Code Online (Sandbox Code Playgroud)