Tengo un panel de contenido (B) que se crea cuando hago clic en un botón que está dentro de otro panel de contenido (A) en el contenedor de pestañas.
En BI he usado closeable to true y también en la función de cierre. Ahora, cuando cierro B, funciona bien, pero mi requisito es que si hago clic en el botón en A, B debe crearse nuevamente. ¿Cómo puedo hacer esto? Lo he intentado asignando nulo a la variable del panel de contenido en la función de cierre para que el nuevo panel de contenido se cree nuevamente, pero el error no puede leer la propiedad del documento de propietario nulo
Creo que tu problema está dentro de showLayerListFunction ,
Vea el siguiente ejemplo en el que puede volver a crear una pestaña después de su eliminación
require(["dojo/on", "dojo/dom", "dojo/ready", "dijit/registry","dojo/dom-construct", "dijit/layout/TabContainer", "dijit/layout/ContentPane", "dijit/form/Button", "dojo/dom-style" ], function(On, dom, ready, registry,domConstruct, TabContainer, ContentPane, Button, domStyle) { ready(function() { var tabContainer = registry.byId("center"); var tab1 = registry.byId("tab1"); var btn = registry.byId("show"); btn.on("click", function(e){ // if pane exist skip creation if(!registry.byId("legendid")) { var tab2 = new ContentPane({title:"List",id:"legendid",closable:true }); tabContainer.addChild(tab2); tabContainer.selectChild(tab2) } }) }); }); html, body { width: 100%; height: 100%; margin: 0; } #center { height: 100% !important; } <link href="//ajax.googleapis.com/ajax/libs/dojo/1.10.0/dijit/themes/claro/claro.css" rel="stylesheet" /> <script> dojoConfig = { parseOnLoad: true, async: true }; </script> <script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.0/dojo/dojo.js"></script> <body class="claro"> <div id="center" data-dojo-type="dijit/layout/TabContainer" > <div id="tab1" data-dojo-type="dijit/layout/ContentPane" title="tab1"> <div data-dojo-type="dijit/form/Button" id="show"> Show Layer List</div> </div> </div> </body>