0
所以我有一个号码可以说19356我想它看起来像1 | 9 | 3 | 5 | 6,它也是所有被强调。这可能没有打破数字和添加管道和下划线?此外,它不一定是一个管道,只是数字之间的一条线。管和下划线之间的电话号码
所以我有一个号码可以说19356我想它看起来像1 | 9 | 3 | 5 | 6,它也是所有被强调。这可能没有打破数字和添加管道和下划线?此外,它不一定是一个管道,只是数字之间的一条线。管和下划线之间的电话号码
我有一个解决你的问题。您可以通过扩展sap.m.FormattedText并根据需要处理功能,如下所示。
我将创建两个文件名SpecialFormattedText和SpecialFormattedTextRenderer如下。
这里是扩展FormattedText的第一类,它有一个属性int类型的数字,因为你想使用数字所以我选择int数据类型。
sap.ui.define(["sap/m/FormattedText"], function (FormattedText) {
"use strict";
return FormattedText.extend("SpecialFormattedText", {
metadata : {
properties : {
number : {
type : "int", defaultValue : null
}
}
},
setNumber : function(iMumber) {
this.setProperty("number", iMumber, true);
this.setProperty("htmlText", this._getUpdatedNumber(iMumber), true);
},
_getUpdatedNumber : function(iMumber) {
return "<U>"+iMumber.toString().match(/.{1}/g).join('|')+"</U>";
}
});
});
下面我就为大家要求,并设置为FormattedText的的htmlText和数保持原有值的输入转换。您可以通过使用getNumber方法获得原始值SpecialFormattedText类对象。
而下一个重要的是我们正在写其他类中的渲染器SpecialFormattedTextRenderer。在这个类中,我们将像下面那样调用sap.m.FormattedTextRenderer类渲染器方法。
sap.ui.define(["sap/m/FormattedTextRenderer"], function (FormattedTextRenderer) {
"use strict";
var SpecialFormattedTextRenderer = {};
SpecialFormattedTextRenderer.render = function (oRM, oControl) {
oRM.write("<div");
FormattedTextRenderer.render(oRM, oControl);
oRM.write("</div>");
};
return SpecialFormattedTextRenderer;
},true);
这些单个数字字符是否包含跨度?一个代码示例会很有帮助,但如果您只有一个未格式化的数字字符串,则需要使用javascript。 –
Yer它的将是一个从oData模型的字符串我知道我可以将它分割成带有边框的单个文本,或者如您所说使用javascript并添加|但不是真的想这样做。 – J0rd4n500
好吧,也许有人比我有更多的知识,但我想不出创造性的方式来定位未格式化字符串中的单个字母。你可以瞄准第一个或最后一个字符,但就是这样。 –