Extjs Ext.ux.form未定义

Extjs Ext.ux.form未定义,extjs,Extjs,我正在基于SCRUD创建一个UI。我的问题是,我在创建搜索字段时遇到了问题,总是说Ext.ux.form未定义时出错 有人能帮我解决这个问题吗 这就是我迄今为止所尝试的: Ext.ns('Region'); Region.app = function() { return{ init: function() { Ext.QuickTips.init(); Ext.form.Field.prototype.msgTarget = 'side';

我正在基于SCRUD创建一个UI。我的问题是,我在创建搜索字段时遇到了问题,总是说Ext.ux.form未定义时出错

有人能帮我解决这个问题吗

这就是我迄今为止所尝试的:

Ext.ns('Region');
Region.app = function() {
return{
    init: function() {
        Ext.QuickTips.init();
        Ext.form.Field.prototype.msgTarget = 'side';

        Region.app.AddEditRegion = function(){


        };

        Region.app.store = new Ext.data.JsonStore({
            proxy: new Ext.data.HttpProxy({
                url: "<?php echo url_for('/contract_system/index.php/regions')?>",
                method: "POST"
            }),
            reader: new Ext.data.JsonReader({
                root: "data",
                id: "id",
                totalProperty: "totalCount",
                fields: [

                    {name: "id", mapping: "id" },
                    {name: "description", mapping: "description" }
                ],
            }),
            //data: {data:{id: 1, description: 'test'}},
            baseParams: {limit: 20},
            remoteSort: false,
            autoLoad: true
        });


        var addItem = new Ext.Action ({
            text: 'Add',
            // icon: 'images/add1.ico',
            width: 60,
            //disabled: true,


        });
        var editItem = new Ext.Action ({
            text: 'Edit',
            // icon: 'images/edit.ico',
            width: 60,
            disabled: true,


        });

        var deleteItem = new Ext.Action ({
            text: 'Delete',
            // icon: 'images/delete1.ico',
            width: 60,
            disabled: true,


        });         
                       //           

         // var searchField = new Ext.app.SearchField({store: store});

        Region.app.empGrid = new Ext.grid.GridPanel({

            viewConfig: {
                forceFit: true,
                autoFill: true,
                stripeRows: true

                       // 
        },

            listeners: {

                rowdblclick : Region.app.AddEditRegion,
                rowcontextmenu: function(grid, rowIndex, e) {
                       e.stopEvent();
                       grid.getSelectionModel().selectRow(rowIndex);
                       menu_grid.showAt(e.getXY());                       
                       return false;
                    }
            },

            renderTo: 'region',
            sm: new Ext.grid.RowSelectionModel({singleSelect: true}),
            border: false,
            loadMask: true,
            frame: false,
            title: 'Regions',
            height: 525,
            anchor: '100%',
            store: Region.app.store,
            columns: [
                new Ext.grid.RowNumberer(),
                {
                    header: 'ID', 
                    width: 10, 
                    sortable: true,
                    locked: true,
                    hidden: false,
                    dataIndex: 'id' 
                },{
                    header: 'Description', 
                    width: 50, 
                    sortable: true,
                    locked: true,
                    dataIndex: 'description' 
                }
                ],

            tbar: [
                'Search : ',
                    new Ext.ux.form.SearchField({
                        store: Region.app.store,
                        width: 200
                    }),'->',{

                        xtype: 'toolbar',
                        items: [
                            addItem, editItem, deleteItem
                        ]
                        }
                ],   

            bbar: new Ext.PagingToolbar({
                pageSize: 20,
                store: Region.app.store,
                displayInfo: true,
                // plugins: new Ext.ux.ProgressBarPager() 
            })


        });


    }

}



}();
Ext.onReady(Region.app.init, Region.app);
Ext.ns('Region');
Region.app=函数(){
返回{
init:function(){
Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget='side';
Region.app.AddEditRegion=函数(){
};
Region.app.store=new Ext.data.JsonStore({
代理:新Ext.data.HttpProxy({
url:“”,
方法:“员额”
}),
阅读器:新的Ext.data.JsonReader({
根:“数据”,
id:“id”,
totalProperty:“totalCount”,
字段:[
{name:“id”,映射:“id”},
{name:“description”,映射:“description”}
],
}),
//数据:{data:{id:1,描述:'test'},
baseParams:{limit:20},
remoteSort:false,
自动加载:正确
});
var addItem=新的外部操作({
文本:“添加”,
//图标:“images/add1.ico”,
宽度:60,
//残疾人:对,,
});
var editItem=新的外部操作({
文本:“编辑”,
//图标:“images/edit.ico”,
宽度:60,
残疾人:对,,
});
var deleteItem=新的外部操作({
文本:“删除”,
//图标:“images/delete1.ico”,
宽度:60,
残疾人:对,,
});         
//           
//var searchField=new Ext.app.searchField({store:store});
Region.app.empGrid=新建Ext.grid.GridPanel({
视图配置:{
forceFit:对,
自动填充:对,
stripeRows:对
// 
},
听众:{
rowdblclick:Region.app.AddEditRegion,
rowcontextmenu:函数(网格、rowIndex、e){
e、 stopEvent();
grid.getSelectionModel().selectRow(rowIndex);
menu_grid.showAt(e.getXY());
返回false;
}
},
renderTo:'区域',
sm:new Ext.grid.RowSelectionModel({singleSelect:true}),
边界:错,
loadMask:是的,
帧:假,
标题:"地区",,
身高:525,
主播:100%,
商店:Region.app.store,
栏目:[
新建Ext.grid.RowNumberer(),
{
标题:“ID”,
宽度:10,
可排序:是的,
是的,
隐藏:假,
数据索引:“id”
},{
标题:“说明”,
宽度:50,
可排序:是的,
是的,
数据索引:“说明”
}
],
待定:[
“搜索:”,
新Ext.ux.form.SearchField({
商店:Region.app.store,
宽度:200
}),'->',{
xtype:'工具栏',
项目:[
addItem、editItem、deleteItem
]
}
],   
bbar:新的Ext.PagingToolbar({
页面大小:20,
商店:Region.app.store,
displayInfo:true,
//插件:新Ext.ux.ProgressBarPager()
})
});
}
}
}();
Ext.onReady(Region.app.init,Region.app);

Ext.ux.form.SearchField是一个用户扩展,不包含在extjs库中。您需要在页面中包含该类的文件。

这是什么版本的extjs?我需要将该类调用到页面中吗?