这是我的定义工厂功能:
declare([_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin], {
widgetsInTemplate: true,
templateString: FiltersTemplate,
baseClass: 'gis_FiltersDijit',
i18n: i18n,
postCreate: function () {
var pins = ['12-82-080', '04-52-080', '04-77-080'];
for (p = 0; p < pins.length; p++) {
var curBox = new CheckBox({
value: pins[p]
});
domConstruct.place(curBox, 'projPinFilter', 'last');
}
}
CheckBox为'dijit/form/CheckBox'
为什么我收到此错误?我正在使用dojo/domReady!
。
以下是相关的html:
<button data-dojo-type="dijit/form/DropDownButton">
<span>Proj. PIN</span>
<div id="projPinFilter"></div>
</button>
正如您所看到的,我正在尝试模拟使用服务器值填充下拉复选框列表。
感谢所有建议,谢谢。
答案 0 :(得分:0)
我认为这是因为domConstruct.place
的1个参数应该是domNode。所以curBox.domNode
我宁愿使用placeAt:
curBox.placeAt('projPinFilter')
注意:'last'
是默认值。
如果这没有帮助,请尝试添加console.log(dom.byId('projPinFilter'))
它应该输出你想要追加的domNode。如果没有,那么dom还没有准备好(但是因为你使用的是dojo/domReady!