I私はSUPPORTED
フィールド例えばIS_BUSINESS_FIELD_SUPPORTED_IN_CURRENT_RELEASE = false
のフラグを設定することができる場所の特性を持っていますExtJSのExtJSの条件付きでレンダリングした入力フィールド
var formPanel = Ext.create('Ext.form.Panel', {
title: 'Panel title',
renderTo: Ext.getBody(),
items: [{
xtype: 'container',
layout: 'hbox',
items: [{
xtype: 'textfield',
fieldLabel: 'First Name',
name: 'FirstName',
}, {
xtype: 'textfield',
fieldLabel: 'Last Name',
name: 'LastName',
},{
xtype:'fieldset',
title: 'Phone Number',
defaultType: 'textfield',
items :[{
fieldLabel: 'Home',
name: 'home',
value: '(888) 555-1212'
},{
fieldLabel: 'Business',
name: 'business',
toBeRendered: IS_BUSINESS_FIELD_SUPPORTED_IN_CURRENT_RELEASE // custom property that must restrict rendering
rendered: IS_BUSINESS_FIELD_SUPPORTED_IN_CURRENT_RELEASE //doesn't work
}]
}]
}]
});
私はアプリケーションを作成するに次のコードは、ファイルを持っています。テキスト入力よりも偽ならば、fieldLabel: 'Business'
はレンダリングされません。隠された/無効なテキスト入力はありません。Business
in html。
私はrendered
プロパティを試しましたが、動作しません。これまでのところ、唯一の解決策はitems = Ext.Array.filter(items,filterFunction)
をonRender
に使用することです。
入力要素のレンダリングを制限する方法はありますか?
ありがとうございます。
レンダリングする前にダイナミックアイテムを作成するだけではどうですか。それは単なる配列です。 –
私は、最良のアプローチは、アプリケーション部品のカスタムコンポーネントを定義し、そのコンストラクタ内に必要なコンポーネントを追加することだと思います。 –