道场:无法阅读财产" appendChild'为null

时间:2015-06-08 21:17:24

标签: javascript dojo

这是我的定义工厂功能:

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>

正如您所看到的,我正在尝试模拟使用服务器值填充下拉复选框列表。

感谢所有建议,谢谢。

1 个答案:

答案 0 :(得分:0)

我认为这是因为domConstruct.place的1个参数应该是domNode。所以curBox.domNode

我宁愿使用placeAt: curBox.placeAt('projPinFilter')

注意:'last'是默认值。

如果这没有帮助,请尝试添加console.log(dom.byId('projPinFilter')) 它应该输出你想要追加的domNode。如果没有,那么dom还没有准备好(但是因为你使用的是dojo/domReady!

,所以不太可能