视图未定义,在4.07中加载组合框问题

时间:2012-02-29 11:34:19

标签: extjs4 extjs-mvc

我偶尔(通常是3个页面加载中的1个)收到以下错误消息

  

视图未定义   view.onItemSelect(记录);

在我看来

            {
                xtype:'combobox',
                name:'PurchaseOrderStatusId',
                id:'PurchaseOrderStatusCombo',
                displayField:'Name',
                store:'PurchaseOrderStatuses',
                mode:'local',
                valueField:'Id',
                fieldLabel:'Status',
                width: 350
            },
            {
                xtype:'combobox',
               name:'SupplierId',
               id:'SupplierCombo',
                displayField:'Name',
                store:'Suppliers',
                mode:'local',
                valueField:'Id',
                fieldLabel:'Suppliers',
                width: 350
            },

//在我的控制器中        onLaunch:function(){

        var suppliers = this.getSuppliersStore();
        suppliers.load();

        var purchaseOrderStatuses = this.getPurchaseOrderStatusesStore();
        purchaseOrderStatuses.load();

        var purchaseOrdersStore = this.getPurchaseOrdersStore();
        purchaseOrdersStore.load({
            callback: this.onPurchaseOrderLoad,
            scope: this
        });
    },
    onPurchaseOrderLoad: function (selection) {
        var form = Ext.getCmp('purchaseOrderForm');
        form.loadRecord(selection[0]);
    },

在我的模特中

    {
        mapping:'PurchaseOrderStatusId',
        name:'PurchaseOrderStatusId'
    },       
    {
        mapping:'SupplierId',
        name:'SupplierId'
    }

1 个答案:

答案 0 :(得分:0)

目前尚不清楚您所报告的错误消息是如何链接到您目前已公布的任何代码。所以很难在这里连接点。

然而,这里有几点意见: 1.如果您的应用程序启动时需要您的商店始终加载,请在这些商店中设置autoLoad:true配置。这样您就不必显式加载它们,并且在视图准备就绪之前,它们有更多时间完成加载。 2.如果需要将模型实例加载到表单中,可以使用Model.load方法而不是让商店为您执行此操作。您需要在模型上提供有关如何从服务器读取记录的API。 3.如果模型字段与服务器返回的内容匹配,则不需要模型映射。

如果您需要进一步的帮助,请使用更多调试信息更新您的问题。