具体错误:c is not a constructor 错误堆栈:TypeError: c is not a constructor



只要我的控件扩展 FR.TriggerEditor 就会报以下错误,不知道是什么原因,如果 FR.TriggerEditor 修改为 FR.Widget就不会,但是一些属性和方法又不能使用。
哪位大神帮忙看看!感激不尽!

FR.BaseYearEditor = FR.extend(FR.TriggerEditor,  {
   _defaultConfig : function() {
      return $.extend(FR.BaseYearEditor.superclass._defaultConfig.apply(), {});
   },
00:34:23 SocketListener0-3 WARN [root] 错误代码:11201000 JS抛错
具体错误:c is not a constructor
错误堆栈:TypeError: c is not a constructor
    at Object.FR.createWidget (http://localhost:8075/WebReport/ReportServer?op=emb&resource=finereport.js&inter=zh_CN&__fr_locale__=&__v__=2018.07.10.10.43.09.597&jsVersion=1534091662648:423:52)
    at HTMLDocument.<anonymous> (http://localhost:8075/WebReport/ReportServer?reportlet=WorkBook3.cpt:40:26)
    at b3 (http://localhost:8075/WebReport/ReportServer?op=emb&resource=finereport.js&inter=zh_CN&__fr_locale__=&__v__=2018.07.10.10.43.09.597&jsVersion=1534091662648:64:246)
    at Object.fireWith [as resolveWith] (http://localhost:8075/WebReport/ReportServer?op=emb&resource=finereport.js&inter=zh_CN&__fr_locale__=&__v__=2018.07.10.10.43.09.597&jsVersion=1534091662648:66:228)
    at Function.ready (http://localhost:8075/WebReport/ReportServer?op=emb&resource=finereport.js&inter=zh_CN&__fr_locale__=&__v__=2018.07.10.10.43.09.597&jsVersion=1534091662648:54:165)
    at HTMLDocument.bW (http://localhost:8075/WebReport/ReportServer?op=emb&resource=finereport.js&inter=zh_CN&__fr_locale__=&__v__=2018.07.10.10.43.09.597&jsVersion=1534091662648:48:484)
八月 13, 2018 12:34:23 上午 org.mortbay.util.Container start

FineReportcowely 发布于 2018-8-13 00:48
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共10回答
最佳回答
0
cowely发布于2018-8-13 09:06(编辑于 2023-9-6 09:34)
555
最佳回答
0
cowely发布于2018-8-13 09:07(编辑于 2023-9-6 09:34)
555
最佳回答
0
Albert发布于2018-8-13 09:24(编辑于 2023-9-6 09:34)
555
  • cowely cowely(提问者) 这样还是不行,这个注册,开始也有的
    回复
    2018-08-13 09:29 
  • cowely cowely(提问者) 09:28:45 SocketListener0-2 WARN [root] 错误代码:11201000 JS抛错
    具体错误:c is not a constructor
    错误堆栈:TypeError: c is not a constructor
        at Object.FR.createWidget (http://localhost:8075/WebReport/ReportServer?op=emb&resource=finereport.js&inter=zh_CN&__fr_locale__=&__v__=2018.07.10.10.43.09.597&jsVersion=1534123724241:423:52)
        at HTMLDocument.<anonymous> (http://localhost:8075/WebReport/ReportServer?reportlet=WorkBook2.cpt:40:26)
        at b3 (http://localhost:8075/WebReport/ReportServer?op=emb&resource=finereport.js&inter=zh_CN&__fr_locale__=&__v__=2018.07.10.10.43.09.597&jsVersion=1534123724241:64:246)
        at Object.fireWith [as resolveWith] (http://localhost:8075/WebReport/ReportServer?op=emb&resource=finereport.js&inter=zh_CN&__fr_locale__=&__v__=2018.07.10.10.43.09.597&jsVersion=1534123724241:66:228)
        at Function.ready (http://localhost:8075/WebReport/ReportServer?op=emb&resource=finereport.js&inter=zh_CN&__fr_locale__=&__v__=2018.07.10.10.43.09.597&jsVersion=1534123724241:54:165)
        at HTMLDocument.bW (http://localhost:8075/WebReport/ReportServer?op=emb&resource=finereport.js&inter=zh_CN&__fr_locale__=&__v__=2018.07.10.10.43.09.597&jsVersion=1534123724241:48:484)
    回复
    2018-08-13 09:30 
  • Albert Albert 那就有可能是初始化的时候报错了,直接new 试试
    回复
    2018-08-13 09:36 
  • cowely cowely(提问者) (function ($) {
        /**
         * @class FR.ComboGrid
         * @extends FR.TriggerEditor
         */
        FR.ComboGrid = FR.extend(FR.TriggerEditor, {
            _defaultConfig: function () {
                alert(1111);
                return $.extend(FR.ComboGrid.superclass._defaultConfig.apply(), {
                   option:{
                        widgetName:\"CC1\",
                        width: 500,
                        value:1,
                        height: 280,
                   }
                });
            },
            _init: function () {
                alert(222);

                FR.ComboGrid.superclass._init.apply(this, arguments);

                var content = $(\"<input type=\'text\'>\").addClass(\"fr-widget-scan-scaninput\")
                    .css(\"backgroundImage\", \"\")
                    .click(
                        function () {
                            alert(FR.i18nText(\"FR_Designer-Scan_PC_No_Scan\"));
                            $(this).addClass(\"fr-widget-scan-click\");
                        }).blur(function(){
                        $(this).removeClass(\"fr-widget-scan-click\");
                    });
                this.element.append(content);
            },

            onTriggerClick: function () {
                alert(333);
                var $t = $(\'<table style=\"width:700px;height:250px\"/>\');
                var opt = this.options, self = this;
                if (opt.columns) {
                    self._refreshGrid($t, opt.columns, opt.data);
                } else {
                    var columns = [];
                    for (var i = 0, len = 10; i < len; i++) {
                        columns.push({
                            field: i+\"Filed\",
                            title: i+\"Name\",
                            width: 200,
                            sortable: true
                        });
                    }
                    opt.columns = [columns];
                    opt.data = [];
                    self._refreshGrid($t, opt.columns, opt.data);
                }
            },
            _refreshGrid: function ($t, columns, data) {
                var self = this, opt = this.options;
                FR.showDialog({
                    title: \"下拉表格\",
                    width: 500,
                    height: 280,
                    contentHtml: $t
                });
                $t.datagrid({
                    singleSelect: true,
                    collapsible: true,
                    columns: columns,
                    data: data,
                    onClickRow: function (rowIndex, rowData) {
                        //self._setTextAndValue(rowData[opt.textColumnName], rowData[opt.valueColumnName]);
                        FR.destroyDialog();
                    }
                });
            },
            _setTextAndValue: function (text, value) {
                this.setText(text);
                this.setValue(value);
            },
            getValue: function () {
                return this.options.value;
            },
            setValue: function (value) {
                this.options.value = value;
            },
            setText: function (text) {
                this.editComp.val(text);
            },
            getText: function () {
                return this.editComp.val();
            }
        });



        console.log(\"====================================\");
        console.log(FR.ComboGrid);
        console.log(\"====================================\");

        $.shortcut(\'combogrid\', FR.ComboGrid);

    })(jQuery);
    回复
    2018-08-13 10:10 
  • cowely cowely(提问者) 评论 Albert : 这个就是 combogrid的源码,New 也是一样的错误
    回复
    2018-08-13 10:11 
最佳回答
0
cowely发布于2018-8-13 15:11(编辑于 2023-9-6 09:34)
555
最佳回答
0
cowely发布于2018-8-13 15:42(编辑于 2023-9-6 09:34)
555
  • 0关注人数
  • 1287浏览人数
  • 最后回答于:2018-8-13 15:42
    活动推荐 更多
    热门课程 更多
    返回顶部