gpt4 book ai didi

javascript - 如何通过字段转换器对 xPage 多行编辑框进行排序?

转载 作者:行者123 更新时间:2023-11-29 10:36:27 25 4
gpt4 key购买 nike

我的页面上有多行编辑框。我想要一个将输入的文本转换为列表的转换器(用新行替换例如逗号)然后执行@Unique并最后在保存时排序。这是我的代码不起作用:

<xp:inputTextarea value="#{document1.Members}" id="inputMembers" multipleTrim="true" immediate="true">
<xp:this.multipleSeparator><![CDATA[#{javascript:"\n"}]]></xp:this.multipleSeparator>
<xp:this.converter>
<xp:customConverter>
<xp:this.getAsObject><![CDATA[#{javascript:@Unique(value).sort();}]]></xp:this.getAsObject>
<xp:this.getAsString><![CDATA[#{javascript:@ReplaceSubString(value, ",", "\n");}]]></xp:this.getAsString>
</xp:customConverter>
</xp:this.converter>

它确实用新行替换逗号但不对列表进行排序

最佳答案

不要使用 multipleSeparator 属性。否则,将分别为每个条目(=行)执行 getAsObject 转换器。这就是排序不起作用的原因。

在为浏览器 (getAsString) 转换值时使用 "\n"分解条目,在从浏览器 (getAsObject) 返回行时分解多行和逗号分隔值并对结果数组进行排序:

<xp:inputTextarea
value="#{document1.Members}"
id="inputMembers"
rows="10">
<xp:this.converter>
<xp:customConverter>
<xp:this.getAsObject><![CDATA[#{javascript:
@Unique(@Trim(@Explode(value, ["\n", ","]))).sort()
}]]></xp:this.getAsObject>
<xp:this.getAsString><![CDATA[#{javascript:
@Implode(value, "\n")
}]]></xp:this.getAsString>
</xp:customConverter>
</xp:this.converter>
</xp:inputTextarea>

关于javascript - 如何通过字段转换器对 xPage 多行编辑框进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35692167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com