官网walkthrough地址
https://ui5.sap.com/#/topic/a96e18b4cd924196b255eb9623431dbb
版本是1.147.1
最近在学习过程中发现了一点小纰漏。德国人写文档极其精细,但也不是完全没问题。
1.症状
Status都是空的

官方示例使用到的OData服务,应该是有变更,没有返回Status属性
查看Developer Tools的网络页签.svc请求,可以看到后端OData返回的model EntitySets就缺少Status属性
导致演示的demo没有Status的效果

2.解决方案
修改webapp/model/formatter.js

增加随机生成Status状态数据的处理
sStatus = ['A', 'B', 'C'][Math.floor(Math.random() * 3)];
完整代码如下
javascript
sap.ui.define([], () => {
'use strict';
return {
statusText(sStatus, sTextA, sTextB, sTextC) {
if (!sStatus) {
sStatus = ['A', 'B', 'C'][Math.floor(Math.random() * 3)];
}
switch (sStatus) {
case 'A':
return sTextA;
case 'B':
return sTextB;
case 'C':
return sTextC;
default:
return sStatus;
}
}
};
});
statusText(sStatus, sTextA, sTextB, sTextC)的4个入参对应的xml的parts的数组的4个元素
parts: [
'invoice>Status',
'i18n>invoiceStatusA',
'i18n>invoiceStatusB',
'i18n>invoiceStatusC'
]
3.效果
