0

我正在扩展 dijit.Dialog 并添加一个模板:

定义([
    "dojo/_base/declare",
    "dijit/对话",
    "dijit/_TemplatedMixin",
    "dijit/_WidgetsInTemplateMixin",
    "道场/数据/ItemFileWriteStore",
    "dojo/text!ps/templates/PrintDialog.html",
    "dijit/form/ComboBox",
    "dijit/表单/按钮",
    "dojox/widget/待机",
    "dojox/布局/TableContainer",
    “dijit/表单/复选框”
]、函数(声明、对话框、TemplatedMixin、_WidgetsInTemplateMixin、ItemFileWriteStore、模板){

    return declare("ps.PrintDialog", [Dialog, TemplatedMixin, _WidgetsInTemplateMixin], {
        模板字符串:模板,
    小部件InTemplate:真,

在我的模板中:

< select data-dojo-type="dijit.form.ComboBox" id="format" name="format" data-dojo-attach-point="formatCombo" title="Format" >

< select data-dojo-type="dijit.form.ComboBox" id="layout" name="layout" data-dojo-attach-point="layoutCombo" title="Layout" >

这是附加点的用法:

this.formatCombo.attr('store', this.formatStore);
        this.layoutCombo.attr('store', this.layoutStore);

现在,我第一次创建一个新对话框时,它工作正常。如果我随后关闭对话框并创建一个新对话框,则 this.formatCombo 和 this.layoutCombo 未定义,代码将失败。

4

1 回答 1

0

是否存在“尝试注册具有相同 ID 的小部件”的任何问题/错误。如果有人请从两个选择标签中删除 id。

于 2013-03-07T13:51:56.497 回答