0

我使用 dijit contentpane 作为选项卡。选项卡内容包含我的自定义小部件。在自己的小部件中,我使用 dojo 查询通过小部件的 id 处理第 th 个元素。如果我通过 href: 属性设置选项卡内容,则可以正常工作。但是如果我通过 content: 属性设置选项卡内容,则 dojo 查询找不到第 th 个元素。这会是渲染错误吗?如果我查看我的小部件的 containerNode,那么我会看到第 th 个元素。似乎 dojo 查询找不到我的小部件的 id。有趣的是,我的小部件的其他 html 元素呈现完美。

var tabContainer = registry.byId(data.parent);
var pane = new contentpane({ id:data.id, title:data.title, iconClass: 
data.icon, closable: data.closable, style: data.style});
if(data.content){pane.set('content', data.content);}                      
if(data.href){pane.set('href', data.href);}                  
tabContainer.addChild(pane);
tabContainer.selectChild(pane);

我通过 dojo.byId 检查我的小部件的状态,如果我使用第一个(设置内容)方法,我的小部件节点未在 dojo 中注册。

4

1 回答 1

0

您必须调用 Content Pane Dijit 的 startup() 方法,请参阅https://dojotoolkit.org/reference-guide/1.10/dijit/layout/ContentPane.html

var pane = new contentpane({ id:data.id, title:data.title, iconClass: data.icon, closable: data.closable, style: data.style});
pane.startup();
于 2018-03-09T20:31:59.963 回答