2016-04-19 5 views
0

Ich versuche, die Sichtbarkeitseigenschaft nach einem benutzerdefinierten Parameter zu formatieren.Formatierungsfunktion in der XML-Ansicht gibt Fehler

Elementdefinition in der Ansicht:

<CheckBox id="compensation0" selected="false" enabled="true" 
visible="{formatter: 'my.util.Formatter.visible'}" editable="true" select=""/> 

Formatter:

my.util.Formatter = { 
    visible: function(){ 
     return true; 
    } 
}; 

Der Fehler erhalte ich:

UIComponent.js: 6 nicht erfasste Fehler: "[object Object]" ist vom Typ Objekt, erwartet boolean für die Eigenschaft "visible" von Element sap.m.CheckBox #__ xmlview1 - compensationColumn

Was habe ich falsch gemacht?

Vielen Dank.

Antwort

2

Ich bin mir nicht ganz sicher, aber sollte der Formatierer auch keine path Eigenschaft erwarten (obwohl, wenn Sie es verwenden oder nicht)?

Außerdem würde ich erwarten Ihre Formatierer in AMD-Struktur geschrieben werden:

sap.ui.define([], function() { 
    "use strict"; 

    return { 
     visible: function(value) { 
      return true; 
     } 
    }; 
}); 
+0

Danke, es funktioniert jetzt. Ich werde den Code auf AMD Struktur aktualisieren, danke für den Rat. – keshet

1

BindingParser versagt, da Sie keinen Pfad Eigentum an Ihrer verbindlichen Objektdefinition haben. Am Ende haben Sie ein Objekt für die boolesche sichtbare Eigenschaft, die ungültig ist.

1

Ihre Definition der CheckBox Fehler enthalten: Versuchen Sie es auf diese Weise:

<CheckBox id="compensation0" selected="false" enabled="true" 
visible="{path: '', formatter: 'my.util.Formatter.visible'}" editable="true" select=""/>