Dla tych, ręcznie dodając fieldsets i pola do panelu formy, ExtJS nie wymaga, aby dodać składniki bezpośrednio do formy, wykonując getForm() pierwsza. Jest to głównie dla wygody i pozwala na prawidłowe działanie standardowej funkcjonalności. Więc niezależnie od tego, z jakiego komponentu zrobiłeś "dodaj", iteruj z tego komponentu.
Przykład 1:
Normalnie nie powinno się używać „identyfikator”, aby komponent ponieważ jest on ustawiony dynamicznie. Ale to pokazuje, jak można uzyskać sam panel formularza za pomocą getCmp.
var formPanel = Ext.getCmp('id-of-component');
var fieldSet = Ext.create('Ext.form.FieldSet', {
title: 'field set'
});
formPanel.add(fieldSet);
podczas iteracji, by to zrobić:
formPanel.each(function(item) {
alert(item.title);
});
Przykład 2:
W tym przykładzie dodamy do samej rzeczywistej postaci, więc iteracja wygląda nieco różne.
var formPanel = Ext.getCmp('id-of-component');
var fieldSet = Ext.create('Ext.form.FieldSet', {
title: 'field set'
});
formPanel.getForm().add(fieldSet);
podczas iteracji, by to zrobić:
formPanel.getForm().each(function(item) {
alert(item.title);
});
Nie powinno to być "c.setDisabled (true)" na podstawie [docs] (http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.AbstractComponent- method-setDisabled). Odnoszę się oczywiście do programu Extjs 4.2.1. –