代码之家  ›  专栏  ›  技术社区  ›  Malin

如何将没有标签的属性添加到XPages控件?

  •  0
  • Malin  · 技术社区  · 6 年前

    对于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>
    

    但是我得到了一个错误信息:

    说明资源路径位置类型所需的属性“name” xp:属性不存在。

    1 回复  |  直到 6 年前
        1
  •  7
  •   shillem    6 年前

    我不知道我是否理解你所说的“不必设置标签”是什么意思。 <xp:attrs> 包含一个或多个 <xp:attr> 组件。然后 <xp:属性> 组件包含2个属性 name= (仅限字符串)和 value= (仅限字符串)。

    因此,如果要为HTML对应标记设置自定义属性,必须编写:

    <xp:inputText ...>
        <xp:this.attrs>
            <xp:attr name="aria-required" value="true" />
        </xp:this.attrs>
    </xp:inputText>
    

    主题规则

    <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>
    

    应用主题的输入

    <xp:inputText themeId="Input.AriaRequired" ... />