展開時に日付ピッカーの下に余分なテキストを表示する必要がありますが、アプリケーションのすべての日付ピッカーでは表示されません。renderTplのカスタムプロパティ
Ext.picker.Dateコンポーネントをオーバーライドしていて、余分なhtmlを追加するためにrenderTplプロパティを変更しています。その後、
Ext.define('overrides.picker.Date', {
override: 'Ext.picker.Date',
showExtra: false,
renderTpl: [
'....existing html for picker here...',
'<tpl if="showExtra">',
'extra picker text',
'</tpl>',
]
});
ように、コンポーネントを作成するときにブール値プロパティが設定されている場合にのみ表示ですので、私はshowExtraがfalseデフォルトでは、もし条件に新しいHTMLをラップしようとしていますし、その後、私の考えでは、これを指定することでしたページ上の日付ピッカーを使用するときにtrueになるようにします。
items: [{
xtype: 'datefield',
value: this.effectiveDate,
showToday: false,
showExtra: true
},
renderTplプロパティの上の値でshowExtraをtrueに指定しても、条件は満たされません。条件が満たされるように、どうすれば値を渡すことができますか?
返信ありがとうございます。このプロパティは現在コンポーネントに設定されていますが、常にデフォルト値(false)と思われます。 renderDataオブジェクトを介して渡している新しい値が設定されていません。次のフィドルを確認してください。https://fiddle.sencha.com/#view/editor&fiddle/1la4 – grimmus
日付フィールドにshowDateLegendを設定していますが、日付ピッカーで使用します。これらは2つの別々のコンポーネントです。 Ext.form.field.Dateソースを見てください。ピッカーを作成し、すべての種類のプロパティを渡すcreatePicker()メソッドがあります。あなたはその方法を無効にすることができます – sofajazz
私は自分の答えを更新しました。オーバーライドでrenderDataを更新する場合は、renderDataを使用する必要はありません。 – sofajazz