2016-07-28 11 views
4

古典的なUIの場合、フィールドにはdefaultValueを設定するオプションがあります。これは、ユーザーが初めてコンポーネントをドラッグした後にダイアログを開くときに表示されます。ユーザーがダイアログ内の値をクリアして保存すると、ダイアログの編集時にフィールドの値は再び表示されません。Touch UIダイアログのdefaultValue - AEM/CQ

タッチUIダイアログでは、defaultValueに相当するものは見つかりませんでした。次のオプションがあります。

  1. emptyText - これはプレースホルダテキストの一種です。値を入力せずにフォームを保存したい場合、これは便利ではありません。
  2. value - オーサリング用に初めてコンポーネントを開いたときの値を示します。しかし、ユーザーが値をクリアして保存した場合。 JCR構造から値は削除されます。しかし、ユーザーが編集のためにダイアログを開くと、フィールドに値が再び表示されますが、これは空でなければなりません。

代わりdefaultValueまたはvalueを使用してのタッチUIのダイアログまたはこれを処理する他の方法でdefaultValueの同等(リスナーまたは何か他のものでもよい)

+1

のみ 'numberfield'は、あなたがhttpsで異なる使用可能なフィールドのための花崗岩のドキュメントを見ることができdefaultValue''属性を提供します。 adobe.com/docs/ja/aem/6-1/ref/granite-ui/api/jcr_root/libs/granite/ui/components/foundation/form/numberfield/index.html –

+0

ユーザーがダイアログを一切保存しますか?とにかく値がJCRに保存されるべきか、JCRプロパティが空であるべきですか? –

+0

'defaultValue'の振る舞いに従って、JCRの値はダイアログを通して保存されなければ空です。私はTouch UIの類似の代替物を探していた –

答えて

6

があった場合は、cq:templateを使用する必要がありますように、私は感じてノード。これは、コンポーネントの下にcq:templateという名前のノードタイプnt:unstructuredを追加することで実現できます。このように://ドキュメント:TouchUIで

_cq_template/.content.xml

<?xml version="1.0" encoding="UTF-8"?> 
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" 
    xmlns:jcr="http://www.jcp.org/jcr/1.0" 
    xmlns:nt="http://www.jcp.org/jcr/nt/1.0" 
    jcr:primaryType="nt:unstructured" 
    sampleProperty="Default value of sampe property"> 
+0

'cq:template'をチェックしました。コンポーネントをドラッグすると、プロパティの値はコンテンツのJCR構造体に保存されます。この種の作品は、 'defaultValue'とまったく同じではありません。私たちはプロパティ値に基づいてチェックを行い、作成者に最初にドラッグする際に「このコンポーネントを設定する」ことを示しました。チェックは異なる方法で適用する必要があります。 –

+0

これはあまり知られていません。私はこのことを理解しようと、半分を無駄にしていました。ありがとう – koga73