ExtJS 4无法检查变量是否未定义并警告错误

时间:2012-05-03 08:02:25

标签: javascript extjs

我有:

dockedItems: [{
                xtype: 'toolbar',
                store: 'RecordsListStore',
                selModel: {
                    selType: 'cellmodel'
                },

和这样的几个图标:

},{
                    icon: g_settings.iconUrl + 'view-icon.png',
                    text: 'View',
                    itemId: 'view-selected-record-from-grid',
                    scope: this
                },{

这是在我看来,在我的控制器中我有一个像这样触发的功能:

'#view-selected-record-from-grid' : {
                click: this.onViewRecordClick
            }

问题是我想显示警告信息。如果用户在未选择任何内容时单击该按钮。在我的函数中,我得到所选项目的信息(如果有的话),如下所示:

onViewRecordClick: function()   {
        /**
     *Getting the id of the record from the selected row
     */
        var id = this.getRecordsListGrid().getSelectionModel().getCurrentPosition().row;
        var rec = Ext.data.StoreManager.lookup('RecordsListStore').getAt(id);
        rec = rec.data.id;

之后我调用了我的Ajax请求,因此在这两个部分之间我要检​​查值以及它们是否未定义(点击图标而不选择)以提醒用户。但是如果我试试这个:

if(id == undefined) { alert('No selection');}

并在未选择任何内容时单击图标我没有收到警报消息,而是在控制台中出现错误

  。

this.getRecordsListGrid()getSelectionModel()getCurrentPosition()的行;未定义

就是这样。我尝试了一些事情来绕过这个问题,因为看起来,函数会停止看到未定义变量的时间,但仍无法找到可行的解决方案。

由于

Leron

1 个答案:

答案 0 :(得分:1)

检查getCurrentPosition()是否返回undefined。