2つのタブに同じフィールドが含まれているが、言語が異なるユーザー連絡フォームは作成しません。MVCとExtJS4.0.7の使用。
userinfoパネルを再利用するつもりはありません..そしてそれにparametherlangKey = en/frを与えるだけです
ユーザー情報を含むタブウィジェットは次のようになります。
Ext.define('MyApp.view.user.FormUserInfo', {
extend: 'Ext.Panel',
alias: 'widget.userinfo',
defaultType: 'textfield',
items: [
{
name: 'first_name['+langKey+']',
}, {
name: 'last_name['+langKey+']',
}]
});
そして、フォームは次のようにロードします。
Ext.define('MyApp.view.user.Form', {
extend: 'Ext.FormPanel',
xtype: 'form',
items: [
{
xtype: 'tabpanel',
activeTab: 2,
items:[
{
xtype: 'userinfo',
cls: 'en',
tabConfig: {
title: 'Contact Details(EN)'
}
},{
xtype: 'userinfo',
cls: 'de',
tabConfig: {
title: 'Contact Details(DE)'
}
}]// /TabPanel.items
}]// /FormPanel.items
});
実際、フォームには10以上のフィールドと2つ以上の言語が含まれているため、データを適切に制御する必要があります。
ウィジェットまたは使用できるプロパティを使用するときに変数を渡す方法はありますか?パネルクラス( cls) を使おうとしまし'first_name['+this.cls+']'
たが、スコープが間違っているか何かです(そして少し醜いです)。