extjs удаляет поле из столбца в наборе полей

#extjs #field #fieldset

#extjs #поле #набор полей

Вопрос:

С моим набором полей у меня есть макет столбца, содержащий разные компоненты.

Основываясь на значении комбинации, я хочу удалить текстовое поле из одного столбца и заменить его новой комбинацией.

У меня есть логика для получения значения комбинации, но, похоже, я не могу удалить какие-либо элементы из столбца.

Я присвоил ему идентификатор, который возвращается обратно, и попытался выполнить следующее:

  if(combo.getValue()=="r"){
                                        alert("here");
                                        var col = Ext.getCmp("col" rowNo);
                                        alert(col.id);
                                        var field = Ext.getCmp("textfield" rowNo);
                                        col.remove(field, true);
                                    }
  

Код столбца

 {columnWidth:.14,
                            id:"col1",
                            items:[{
                            xtype: 'textfield',
                            id: 'textField1',
                            hideLabel: true,
                            width: 100

                        }
  

Ответ №1:

Зачем вам нужно его физически удалять? Вы могли бы просто установить hidden для свойства значение true / false, в зависимости от того, какие поля вы хотите отобразить. Если у вас есть 2 поля, которые вы хотите «переключить», установка их hidden свойства также скорректирует макет, чтобы он соответствовал им соответствующим образом.

Что-то вроде:

 if (combo.getValue() == "r") {
    textfield1.show();
} else {
    textfield1.hide();
    textfield2.show();
}