0

dijit.Dialogを拡張し、テンプレートを追加しています。

定義([
    "dojo / _base / describe"、
    「dijit/Dialog」、
    "dijit / _TemplatedMixin"、
    "dijit / _WidgetsInTemplateMixin"、
    "dojo / data / ItemFileWriteStore"、
    "dojo / text!ps / templates / PrintDialog.html"、
    "dijit / form / ComboBox"、
    「dijit/form / Button」、
    「dojox/widget / Standby」、
    "dojox / layout / TableContainer"、
    「dijit/form/CheckBox」
]、関数(declare、Dialog、TemplatedMixin、_WidgetsInTemplateMixin、ItemFileWriteStore、template){

    戻り値declare( "ps.PrintDialog"、[Dialog、TemplatedMixin、_WidgetsInTemplateMixin]、{
        templateString:template、
    widgetsInTemplate:true、

私のテンプレートでは:

<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でウィジェットを登録しようとしました。」という問題/エラーはありますか? 一部の場合は、両方の select タグから id を削除してください。

于 2013-03-07T13:51:56.497 に答える