2017-12-26 6 views
-2

Wie Sie den folgenden Fehler von beheben, der in IE, Google Chrome und Firefox geschieht. Die Demo ist wie die folgende:Uncaught TypeError: a.setElement ist keine Funktion in ext-all.js

enter image description here

Hier ist der Code ist. Wenn das ", locked: true" entfernt wird, ist das Problem weg. Was ist der richtige Weg locked: true

<!DOCTYPE html> 

<html> 
<head> 
    <meta name="google" content="notranslate" /> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <meta http-equiv="Content-Language" content="en"> 
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 
    <title>extjs 6 demo</title> 

    <link rel="stylesheet" type="text/css" href='https://cdnjs.cat.net/ajax/libs/extjs/6.0.0/classic/theme-triton/resources/theme-triton-all.css' /> 
    <script type="text/javascript" src='https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/ext-all.js'></script> 

</head> 
<body> 

<script type="text/javascript"> 

Ext.require([ 
    'Ext.grid.*', 
    'Ext.data.*', 
    'Ext.util.*', 
    'Ext.state.*', 
    'Ext.form.*' 
]); 

var store = Ext.create('Ext.data.ArrayStore', { 
     storeId: 'store2', 
     fields: ['name', 'email', 'phone'], 
     groupField: 'name', 
     //header: 'Test', 
     proxy: { 
      type: 'memory', 
      reader: { 
       type: 'json', 
       rootProperty: 'items' 
      } 
     } 
}); 

store.add([{ 
     'name': 'Gooooogle', 
     "phone": "111-222-3333" 
}]); 


var grid = Ext.create('Ext.grid.Panel', { 
    title: 'Demo Grid', 
    store: store, 
    columnLines: true, 

    autoHeight: true, 
    autoScroll: true, 
    width: 515, 
    enableColumnMove: false, 
    enableDragDrop: false, 
    enableHdMenu: true, 
    enableColumnHide: false, 
    columns: [{ 
     text: 'Company Name', 
     dataIndex: 'name' 
     ,locked: true 
    }, { 
     text: 'Phone', 
     dataIndex: 'phone' 
     ,locked: true 
    }, { 
     text: 'Grouping Columns', 
     columns: [{ 
      text: 'Phone 1', 
      dataIndex: 'phone' 
     }, { 
      text: 'Phone 2', 
      dataIndex: 'phone' 
     }, { 
      text: 'Phone 3', 
      dataIndex: 'phone' 
     }] 
    }], 
    renderTo: Ext.getBody() 
}); 

</script> 

</body> 
</html> 
+1

Bitte geben Sie Ihren Code versucht? Menschen können bessere Lösungen veröffentlichen – Aria

Antwort

1

entfernen autoScroll: true hinzuzufügen. Es ist ein Fehler, der in nachfolgenden Versionen behoben wurde. Sie müssen es nicht angeben, da die Raster standardmäßig gerollt werden.

Auch Ihr Code, der das Raster erstellt, sollte in Block verpackt werden.

Hinweis: scrollable: true auf das gleiche Problem wie autoScroll: true führen könnte

Verwandte Themen