0

我偶尔(通常是三分之一的页面加载)收到以下错误消息

视图未定义 view.onItemSelect(record);

在我看来

            {
                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'
    }
4

1 回答 1

0

目前尚不清楚您报告的错误消息如何与您迄今为止披露的任何代码相关联。所以在这里很难把这些点联系起来。

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

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

于 2012-03-01T06:42:24.583 回答