0

你好朋友我正在 sencha touch 2.0 中创建一个应用程序,其中我在工具栏中添加了一个搜索按钮。现在我想打开一个具有透明背景的搜索字段,如下图所示。

在此处输入图像描述

当我运行我的项目时,logcat 指示我控制器文件中存在错误。下面我正在添加我的控制器类。

Ext.define('MyApp.controller.search',{
    extend: 'Ext.app.Controller',
    config: {
        refs: {
            groupList: "groupList"
        },
        control: {
            groupList: {
                        searchField: "searchField"            
            }
        }
    },
    searchField: function(){
      //  console.log("SearchField Tapped");
        if ( ! this.searchView)
        {
            this.searchView = this.render({
                xtype: 'searchView',
            });

            var cancelSearchBtn = this.searchView.query('#'+cancelSearchBtn)[0];

            cancelSearchBtn.setHandler(function(){
                this.searchView.hide();
            }, this);
        }

        this.searchView.show({
            type: 'slide',
            direction: 'up',
            duration: 500,
        });
    },
    launch: function(){
        alert('Hello search');
    },
});

我在 logcat 中收到以下错误:-

TypeError: Result of expression 'this.render' [undefined] is not a function. at
file:///android_asset/www/app/controller/SearchController.js:18

帮助我摆脱这个问题。

提前谢谢。

4

1 回答 1

0

控制器内部没有render方法。您需要创建该组件的一个实例,然后将其添加到您希望它在其中可见的容器(通常称为 Main)。

于 2012-04-19T20:09:33.927 回答