#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();
}