Я хочу создать свой собственный форматировщик для отображения суммы в разных валютах.
Можно было бы догадаться, что я использую это решение, которое я уже знаю:
<t:template>
<Text text="{
parts: [
{path: 'amount'},
{path: 'currency'}
],
type:'sap.ui.model.type.Currency',
formatOptions: {
currencyCode: false
}
}"
</t:template>
проблема с этим решением в том, что я уже показываю валюту в отдельном столбце, и если я выберу это решение, оно выглядит довольно уродливо....
поэтому я попробовал это:
<t:template>
<Text text="{parts: [
{path: 'amount'},
{path: 'currency'}
],
formatter : '.formatter.currency'}"
/>
</t:template>
и моя функция форматирования выглядит так:
currency: function(amount, currency) {
var change = [];
change.push(amount);
change.push(currency);
var sInternalType = "";
var amount1 = new sap.ui.model.type.Currency();
amount1.formatValue(change, sInternalType);
return amount1;
}
Здесь я бы предположил, что делаю что-то совершенно неправильно, поскольку английский не является моим первым языком, я, вероятно, предположил бы, что неправильно понял ссылки на API, поскольку они указаны следующим образом:
- formatValue(vValue, sInternalType): любой
- Отформатируйте данный массив, содержащий количество и код валюты, в выходное значение типа string. Другие внутренние типы, кроме 'string', не поддерживаются типом Currency. Если для этого типа был определен исходный формат, formatValue также принимает строковое значение в качестве входных данных, которое будет преобразовано в массив с использованием исходного формата. Если aValues не определен или имеет значение null, будет возвращено значение null.
- Параметры:
- {array|string} vValue массив значений или строковое значение для форматирования
- {string} sInternalType тип цели
- Возвращает:
- {любое} форматированное выходное значение