何百万回も使ったものに苦労しているようです!突然機能しなくなった理由がわかりません:)
マイレイアウト
an accordion
> toolbar
> tabs
>tab 1
> form.panel 1
> textfield (alias: 'widget.mytextfield')
> form.panel 2
>tab 2
> form.panel 1
ここで問題が発生します...パネル1でテキストフィールド(mytextfield)にアクセスしようとすると
//panel, being 'tab 1 > panel 1'
var textfield = panel.down('mytextfield')
null を返すだけです。
私の出力
console.info(panel.down());
パネルのヘッダーです(したがって、正しい場所での定義です)->パネルの本体が見つからないようです
何か案は?完全に立ち往生!
「mytextfield」を取得する唯一の方法は
var textfield = panel.items.items[0];
しかし、テキストフィールドの順序が変わると、上記のコードはもちろん機能しなくなります
前もって感謝します!
アップデート
わかりました、私は何かを理解しました...それは奇妙です
パネルからテキストフィールドを取り出して、別のファイルに配置するとします。次に、 を使用してインクルードしrequires
ます。テキストフィールドにアクセスできます.down()
たとえば、私のメインフォームパネルでは
...
requires:['App.view.MyTextField'],
items:[{
xtype:'mytextfield' //i can access you with .down()
},{
xtype:'textfield',
alias:'widget.mytextfield2' //you are showing up - but I CANT access you with .down() - only panel.items.items[0]
}]
...
MyTextField
Ext.define('App.view.MyTextField', {
extend:'Ext.form.field.Textfield',
alias:'widget.mytextfield'
});
理由はありますか?