如何动态重置contentEl?

时间:2011-09-06 05:02:19

标签: javascript extjs extjs4

动态更改contentEl的最佳方法是什么?我可以看到update方法,但它适用于字符串/模板输入,我仍然可以使用它以某种方式使用innerHTML重置内容。但是重置DOM元素本身呢?

var divA = document.createElement("div");
divA.innerHTML = "divA";
var divB = document.createElement("div");
divB.innerHTML = "divB";
var win  = Ext.create('Ext.window.Window', {
    title: 'An Example',
    height: 200,
    width: 400,
    layout: 'fit',
    contentEl: divA
}).show();

window.setTimeout(function() {
    //this will work, but what about DOM?
    var buf = document.createElement('div');
    buf.appendChild(divB);
    win.update(buf.innerHTML);
}, 2000)

1 个答案:

答案 0 :(得分:3)

您可以使用replaceWith() method以及新元素的配置对象来创建:

Ext.get(contentEl).replaceWith({ html: '<div>hello, world</div>' });