Zu Testzwecken habe ich 2 Ansichten gemacht. Eine, die die andere Ansicht erfordert. Jetzt möchte ich, dass die Leute in der Lage sind, Komponenten mehrmals als Tab zu öffnen, also muss ich natürlich jedem Tab und Element innerhalb der Komponente eindeutige IDs zuweisen, richtig?Zugriff auf root-Eigenschaft in ExtJS benutzerdefinierte Ansicht?/Duplizieren Sie die Komponenten
Meine Frage ist, wie kann ich auf eine der root-Eigenschaften in einer Ansicht von sagen das Objekt docketItems zugreifen? Im folgenden Code wird ein undefinierter Fehler this.varindex
bei id: 'accountSearchField' + this.varindex,
verursacht. Varindex wird dynamisch von der anderen Komponente zugewiesen. (Ich habe es im folgenden Beispielcode fest programmiert)
Beachten Sie, dass ich die genaue ID nicht kenne, also kann ich etwas wie Ext.getCmp
nicht verwenden. Ich könnte Ext.ComponentQuery.query('searchAccount')
verwenden, aber vielleicht gibt es einen besseren Weg, dies zu tun?
Im Folgenden finden Sie einen Teil des Codes, der von meiner Hauptkomponente benötigt wird.
Ext.define('cp.views.search.Account', {
extend: 'Ext.panel.Panel',
xtype: 'searchAccount',
varindex: "uniqueid_assigned_by_main_component",
listeners: {
beforerender: function(){
this.id = 'panelSearchAccount' + this.varindex
}
},
items: [
{
xtype: 'grid',
store: {
type: 'Account'
},
id: 'searchAccount' + this.varindex,
columns: [
///
],
dockedItems: [
{
xtype: 'fieldset',
items: [
{
id: 'accountSearchField' + this.varindex,
xtype: 'searchfield'
}
]
}]
}
]
});