Вы не можете удалить HTML, используя .remove()
, потому что он не считается элементом панели. Поэтому вам нужно использовать .update()
, чтобы избавиться от этого HTML, а затем добавить новую панель.
// clear the html by replacing it with an empty string.
// calling update with no arguments would work as well.
regionContent.update('');
// add the new component
regionContent.add(newPanel);
// redraw the containing panel
regionContent.doLayout();
Из вашего скриншота видно, что вы могли использовать .update()
, передав новую панель, например, .update(newPanel)
. Этот метод используется для обновления HTML, а не для замены компонентов. Чтобы пойти противоположным путем:
regionContent.removeAll(); // if you want to remove all the items
regionContent.update('this is the original content');
regionContent.doLayout();
Вы действительно использовали опубликованное вами решение, чтобы решить именно эту проблему? Для меня clearExtjsComponent()
оставляет строку HTML «Это оригинальный контент», как на скриншоте.