从零开始学习Sencha Touch MVC应用之十三

我们已经为搜索按钮添加了两个新的属性:iconClsiconMaskiconCls,是一个用来作为按钮图标进行设置css类背景图片的类(引自sencha touch文档),通过给search按钮设置属性值使按钮有一个放大镜的背景图像,为使这个特性能正常运转,我们也需要设置iconMask属性为true

Action设置了UI属性,可以使搜索按钮具有不风格。下面就是按钮显示:

现在我们必须为search按钮设置处理器的功能,因为这个按钮将总是做同样的事情,我们可以在应用中的分发功能中设置其处理器的功能如下:

launch: ()
{
         this.viewport = new App.views.Viewport();
 
         this.viewport.query('#searchBtn')[0].setHandler((){
                 Ext.ControllerManager.get('Search').index();
         });
},

Ext.ControllerManager的Get功能函数,我们可以访问到我们所注册的名字获取到控制器的实例,然后我们就可以像访问普通的功能函数一样来简单调用它。现在你来点击测试这个搜索按钮,则可以弹出下面的文字:Search index working (正在检索中),这个提示警告信息正是我们在搜索控制启动indexaction中添加的脚本信息。

别急,现在还是不到建立和细化搜索视图的时候!

要想在搜索视图的顶部有搜索字段和取消按钮,使从底向上滑动时有一个半透明的背景以使下面的视图可视。

首先,在app/views/search文件夹中要建立SearchIndexView.js文件(其中:search文件夹需要提前建好),并把它包含到index文件中,并且添加如下的代码:

App.views.SearchIndex = Ext.extend(Ext.Panel, {
         cls: 'search-panel',
         fullscreen: true,
         floating: true,
         floatingCls: '',
 
         dockedItems: [{
                 xtype: 'toolbar',
                 items: [
                 {
                   xtype: 'searchfield',
                         flex: 1,
                 },
                 {
                   text: 'Cancel',
                   itemId: 'cancelSearchBtn',
                   ui: 'action',
                 }
        ],
         }],
});
Ext.reg('SearchIndex', App.views.SearchIndex);
原文地址:https://www.cnblogs.com/breg/p/2288492.html