2012-04-19 49 views
0

你好朋友我在sencha touch 2.0中創建了一個應用程序,其中我在工具欄中添加了一個搜索按鈕。現在,我想打開一個像下面圖像一樣的透明背景的搜索字段。下面的代碼適用於sencha touch 2.0

enter image description here

雖然我跑我的項目的logcat表明我的錯誤是在控制器file.Below我加入我的控制器類。

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 

幫我擺脫這個問題。

Thanx提前。

+0

誰給我投票給我理由? – himanshu 2012-04-19 10:38:32

回答

0

控制器內部沒有render方法。您需要創建該組件的實例,然後將其添加到您希望可見的容器中(通常稱爲Main)。