2014-11-10 2 views
0

У меня есть проект ExtJS, в котором у меня есть FieldSet, который мне нужно для динамического удаления элементов и их замены разными элементами.В IE удаление элементов из Ext.form.FieldSet приводит к расширению FieldSet

Когда я удаляю элементы, а затем добавляю новые элементы, FieldSet постепенно расширяется каждый раз, так что весь FieldSet растет, растет и растет.

Это происходит только в IE - не Firefox или Chrome.

Вот мой Fieldset ...

var lonFields = new Ext.form.FieldSet({ 
     ref: '../../setLonFieldSet', 
     layout: { 
      type: 'table', 
      columns: 2 
     } 
}); 

Вот где я ссылаться на него, удалить все, а затем добавить новый материал ...

Ext.getCmp('maintainGeneratorsBatteriesViewport').setLonFieldSet.removeAll(); 
Ext.getCmp('maintainGeneratorsBatteriesViewport').setLonFieldSet.add(
       {html: "<b>Default Lon:</b>"} 
      ); 
Ext.getCmp('maintainGeneratorsBatteriesViewport').setLonFieldSet.add(
       {html: "<b>Default Lon:</b>"} 
      ); 

Как я уже говорил, в IE этой заставляет весь FieldSet расти каждый раз.

Любые предложения?

Спасибо заранее, Tim

+0

Это определенно ошибка, которую вы должны сообщить на форуме sencha. Укажите версию, в которой она встречается. – Alexander

+0

Yepper. Это определенно кажется ошибкой. Независимо от того, насколько просто вы это делаете - он всегда добавляет и лишнюю линию пикселей. Единственное, что нужно сделать в этот момент - просто не использовать макет таблицы, если вы хотите удалить и затем добавить строки. Если вы используете другой тип макета, он отлично работает. –

ответ

1

Попробуйте это:

var fieldSet = Ext.getCmp('your fieldset id'); 
 
fieldSet.removeAll(fieldSet.items); 
 
fieldSet.doLayout();

После этого вы можете добавить новый пункт !! :)

Смежные вопросы