Extjs 6.2 Uncaught TypeError:touchScrollable.getElement不是函数

时间:2016-11-23 09:48:17

标签: javascript extjs touch

之前有人看过这个错误吗? 我们将应用程序升级到extjs 6.2,当我通过平板电脑打开它时(来自chrome的开发人员工具),我得到以下错误。

控制台错误详情

ext-all-debug.js:163023 Uncaught TypeError: touchScrollable.getElement is not a function(…)
initEl  @   ext-all-debug.js:163023
constructor @   ext-all-debug.js:162985
callParent  @   ext-all-debug.js:12490
constructor @   ext-all-debug.js:239358
Ext.resizer.ResizeTracker   @   ext-all-debug.js:13133
constructor @   ext-all-debug.js:239972
Ext.resizer.Resizer @   ext-all-debug.js:13133
initResizable   @   ext-all-debug.js:70052
callParent  @   ext-all-debug.js:12490
initResizable   @   ext-all-debug.js:160828
onBoxReady  @   ext-all-debug.js:68326
callParent  @   ext-all-debug.js:12490
onBoxReady  @   ext-all-debug.js:159716
afterFirstLayout    @   ext-all-debug.js:61616
afterComponentLayout    @   ext-all-debug.js:66470
callParent  @   ext-all-debug.js:12490
afterComponentLayout    @   ext-all-debug.js:138322
notifyOwner @   ext-all-debug.js:141439
callLayout  @   ext-all-debug.js:235122
flushLayouts    @   ext-all-debug.js:235270
runComplete @   ext-all-debug.js:235813
callOverrideParent  @   ext-all-debug.js:1587
callParent  @   ext-all-debug.js:12490
runComplete @   ext-all-debug.js:64529
run @   ext-all-debug.js:235800
flushLayouts    @   ext-all-debug.js:64537
resumeLayouts   @   ext-all-debug.js:64552
Ext.resumeLayouts   @   ext-all-debug.js:70316
setActiveItem   @   ext-all-debug.js:238424
setActiveItem   @   ext-all-debug.js:139160
setLoggedIn @   Main.js?_dc=1479893621186:38
afterLoginResponse  @   LoginController.js?_dc=1479893621378:99
success @   LoginController.js?_dc=1479893621378:82
callback    @   ext-all-debug.js:8702
onComplete  @   ext-all-debug.js:25783
onStateChange   @   ext-all-debug.js:25737
(anonymous function)    @   ext-all-debug.js:6859

Main.js代码

    Ext.define('eProject.view.desktop.viewport.Main', {
    extend: 'Ext.panel.Panel',
    requires: [
        'eProject.view.desktop.login.Main',
        'eProject.view.desktop.main.Main'
    ],
    xtype: 'app-desktop-viewport',
    layout: 'card',
    items: [
        {
            xtype: 'panel',
            layout: 'center',
            items: [
                {
                    xtype: 'label',
                    text: 'Loading ...'
                }
            ]
        },
        {
            xtype: 'app-desktop-login'
        },
        {
            xtype: 'app-desktop-main'
        }
    ],
    listeners: {
        beforerender: function (panel) {
            eProject.util.Localizer.update(panel, true);
        }
    },
    localizerUpdate: function () {
        eProject.util.Localizer.update(this, false);
    },
    setLoggedIn: function (status) {
        if (status && status == true)
        {
            this.setActiveItem(2);
        }
        else
        {            
            this.setActiveItem(1);
            this.down('app-desktop-login').resetInput();
        }
    }
});

控制台错误中显示的行是this.setActiveItem(2);

更新1

在某些情况下,从面板中删除resizable: true可以解决问题。

更新2

这有点奇怪,但是从所有网格面板(和一个树状面板)中评论resizable: true解决了这个问题。

1 个答案:

答案 0 :(得分:0)

显然将项目升级到extjs 6.2.1解决了这个问题。