我有一些代码,以前可以正常工作,现在不行了。我有一组结果,显示在 GridPanel 中,我有一个文本字段来过滤结果。当输入的字母超过 3 个时,会相应地过滤显示结果。文本字段中有一个侦听器,它将对输入的值做出反应。输入内容后,它会触发以下命令:
grid = Ext.getCmp('shopGrid');
console.log(grid);
store = grid.getStore();
console.log(store);
if (strLen >= 3) {
store.filter('NAME', input, true, false);
} else {
store.clearFilter();
store.load();
}
我添加了 console.log() 来看看发生了什么。我将网格放到控制台中,它是一个包含各种元素的对象,这正是我所期望的。但它并没有更进一步,并以错误消息终止:“TypeError: Ext.getCmp(...).getStore is not a function”
我以前遇到过这种错误消息,但我还不完全理解它试图告诉我什么,因为我对 Javascript 内部工作原理的理解相当有限。在 ExtJS 中,函数 getStore() 只为 GridPanel 定义。我的问题可能是 getCmp() 为我提供标准对象而不是 GridPanel 吗?但是在 Javascript 中只有一种类型的对象,对吧?无论如何,我使用的是 Ext 版本 3.4.1。任何帮助或提示将不胜感激。