2016-08-02 3 views
0

Begda가 설정된 경우 "-"을 표시하고 그렇지 않으면 ""만 표시하려고합니다. Begda가 설정되면 출력에 "NaN"이 표시되고, 그렇지 않으면 입력이 올바르게 표시됩니다. 따라서 삼항 연산자가 작동하지만 포맷터가 작동하지 않습니다. 나는 또한 같은 'NaN의'출력이 시도여기에 내 목록 항목 템플릿에 어떤 문제가 있습니까?

this._oSelectedTrainingsModel.getData()[0].Begda 
15:31:37.916 Date 2016-09-17T00:00:00.000Z 

var oItemTemplate = new sap.m.StandardListItem({ 
       title: "{Title}", 
       description: "{= ${Begda} ? ${Type} - ${ path: 'Begda', type: 'sap.ui.model.type.Date', formatOptions: { style: 'medium' }} : ${Type} }", 
       icon: "{icon}", 
       iconInset: false 
      }); 

: :이 Begda 필드는 실제 날짜 객체를 포함

var oItemTemplate = new sap.m.StandardListItem({ 
      title: "{Title}", 
      description: "{= ${Begda} ? ${Type} - ${Begda}.toLocaleDateString() : ${Type} }", 
      icon: "{icon}", 
      iconInset: false 
     }); 

답변

0

문제는 프레임 워크가 주어진 값에 뺄셈을 적용하려고한다는 것입니다. 표현식에 - 문자를 포함하려면 문자열 연결 + '-' +처럼하십시오.

복잡한 계산을 대괄호로 묶는 것이 좋습니다. 여기서 상기 고정 코드 (괄호는 선택적)이다

var oItemTemplate = new sap.m.StandardListItem({ 
      title: "{Title}", 
      description: "{= ${Begda} ? (${Type} + '-' + ${ path: 'Begda', type: 'sap.ui.model.type.Date', formatOptions: { style: 'medium' }}) : ${Type} }", 
      icon: "{icon}", 
      iconInset: false 
     }); 

참고 바인딩 식 간단한 로직에만 사용되어야하고,이 중 하나는 포매터 기능으로 이동 될 수있는보다 복잡한 것 같다.