javascript - 如何动态重置contentEl?

标签 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)

最佳答案

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

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

关于javascript - 如何动态重置contentEl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7315136/

相关文章:

javascript - 使用表中的选定选项计算单元格值

javascript - 使用 React Form、Flask 服务器和 Flask-WTF 进行 CSRF 保护

javascript - 如何禁用 Sencha Touch 2 页面转换动画?

javascript - Z 索引不起作用

javascript - ExtJS:关联的 idProperty 的转换函数未触发

extjs - 在网格排序(extjs)上向选项卡面板添加掩码

javascript - 为什么当我渲染元素时 extjs 会调用刷新 URL?

javascript - Ext grid PagingToolbar 在 IE 上不显示

javascript - 如何找到最近的父组件?

javascript - 如何在此下拉菜单中显示子菜单项