2017-07-19 4 views
0

文字列の最初の10文字だけを自分のラベルにバインドする必要があります。sap.m.labelの部分文字列にバインド

私はこれまでから以外の任意の解決策を見つけることができませんでした:

<m:Text text="{Name1/0}{Name1/1}{Name1/2}{Name1/3}{Name1/4}{Name1/5} {.../9}" /> 

これはかなり醜いと非効率的なようだ - これを行うには良い方法はありますか?

最後の10文字を取得することはできますか?

注:Formatterなしでこれを行いたいと思います。

+0

なぜフォーマッタを使用しないのですか? –

+0

@VolkanKahyaoğlu興味がある人なら、直接バ​​インドすることが可能でしょうか –

答えて

3

SAPUI5のバインディング構文は、基本的なJavaScript式をサポートしています。

文字列値Hello worldを保持するモデルのプロパティmyPropを考えてみましょう:

平野は意志出力いつものように値バインディング:あなたには、いくつかを追加することができ、「式バインディング」構文を使用して
<Text text="{myProp}" />のHello World

をフォーマッタを導入することなく柔軟に対応できます。同じプロパティを印刷するための構文が、式は結合では、次のようになります。

<Text text="{= ${myProp} }" />のHello World

{= ... }等号を使用すると、式が評価される予定であることを示します。式の中でバインド変数にアクセスするには、使用${myProp}

例:
text="{= ${myProp}.substr(0,5) }"こんにちは
text="{= ${myProp}.length }"
text="{= ${myProp}.length > 5 ? 'foo' : 'bar' }"fooの
text="{= ${myProp} + ' has ' ${myProp}.length + ' chars'}"のHello Worldは、11文字

を持っています

可能な演算子のリストは、SAPUI5開発者ガイドにあります。Expression Binding

+0

すごい!あなたの詳細な答えをありがとう! –

関連する問題