javascript - DOJO 错误 ID 已注册

标签 javascript dojo dojox.grid.datagrid

嗨,我是道场新手,遇到了一个简单的问题。我收到错误 尝试使用 id==listGrid 注册小部件,但该 id 已注册。让我与您分享我的代码片段

我有三个单选按钮,单击任何一个单选按钮都会生成网格。我对所有三个单选按钮使用相同的 div。第一次网格将出现在第一个单选按钮中,但第二次我收到上述错误。我通过单击单选按钮来调用此函数

_showList:function()
{
    var item = this.gc.getSelectedItem()
    var id=item.id;
    var cont = 'zone';
    var action='getCityListById';
    var controller='network';
    this.cityGc = new GridViewControl({columns:
        [
          {action:action, controllerName:controller,parameters: {id:item.id, cont: cont}},
          {name:"City Name", field:"name", width: "200px", editable: false}
          ], diff:220
    },this.zoneListGrid);           
}

zoneListGrid 是一个 dojo 连接点,对于所有三个单选按钮来说都是相同的。请建议我可以解决的问题。提前致谢

最佳答案

由于每次单击单选按钮都会触发这段代码,因此 dojo 将在第二次单击时尝试创建另一个网格组件。因为该连接点上已经存在一个小部件,所以会引发错误。

要么重新使用已经存在的网格(对 this.cityGc 执行 === null 检查),要么首先销毁现有网格(this.cityGc.destroy())。

关于javascript - DOJO 错误 ID 已注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20651158/

相关文章:

javascript - JSONP图像请求不循环?

dojo - 默认情况下如何在编辑模式下获取dojo数据网格单元格

javascript - Javascript 中所有列 TD 的表行过滤

javascript - 如果条件为真,Jquery 添加 css 属性

javascript - amcharts 无法在 div 中加载,除非固定大小,但轴标签关闭

javascript - 如何创建一个 dojo 数据网格,其中一列是标题行中的按钮?

dojo - 如何刷新数据网格

javascript - 如何删除存储在本地存储中的数据?

javascript - 有时,vue 路由器链接会刷新/重新加载页面。有时却没有

html - 忽略 CSS 高度元素