はじめに
皆さま、お疲れ様です。
SAP Fiori UI5 の XML ビューでは、バインディング式を使ってプロパティの値を動的に制御できます。
しかし、条件によってはエラーが発生することがあります。
今回は、 visible プロパティに対するバインディング式の記述方法について、具体的なエラー事例とその回避策を紹介します。
参考データ
DATA>/DataList/の中身
{
"DATA": {
"DataList": [
{ "Name": "Item1", "Value": "Value1" },
{ "Name": "Item2", "Value": "Value2" },
{ "Name": "Item3", "Value": "Value3" }
]
}
}
エラーが発生するバインディング式
以下のように visible プロパティをバインディングするとエラーが発生します。
<!-- この書き方ではエラーが発生する -->
<Button
text="エラーが発生"
visible="{= ${DATA>/DataList/}.length < 5}"
/>
この記述を行うと、「不明な属性キー」と表示され、想定の動きになりません。
エラーの原因
このエラーが発生する主な原因は、バインディング式の構文にあります。具体的には、以下の点が問題となります。
1. バインディング式の評価: バインディング式の評価時に、属性キーが正しく解釈されないため、エラーが発生します。
エラーを回避する方法
以下のように記述すると、問題なく動作します。
<!-- 正しい書き方 -->
<Button
text="正常動作"
visible="{= 5 > ${DATA>/DataList/}.length"
/>
この書き方であれば問題なく実装することが出来ます。
まとめ
SAP Fiori UI5のXMLビューでバインディング式を使用する際には、構文に注意が必要です。
特に、属性キーの指定方法に誤りがあるとエラーが発生することがあります。
今回紹介した方法を参考に、正しいバインディング式を記述してください。