简体   繁体   中英

Extjs 6.2 Uncaught TypeError: touchScrollable.getElement is not a function

Anyone seen this error before? We upgraded our app to extjs 6.2 and when i am opening it via tablet (from chrome's developer tools) i get the error below.

Console error details

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 Code

    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();
        }
    }
});

the line shown in the console error is this.setActiveItem(2);

Update 1

In some cases removing resizable: true from the panels resolves the issue.

Update 2

It's kind of weird but commenting out resizable: true from all the gridpanels (and a treepanel) resolved the issue.

显然,将项目升级到extjs 6.2.1可以解决此问题。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM