0

こんにちは友達私はツールバーに検索ボタンを追加したsenchatouch2.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コントローラ内にメソッドはありません。そのコンポーネントのインスタンスを作成してから、それを表示するコンテナ(通常はメインと呼ばれます)に追加する必要があります。

于 2012-04-19T20:09:33.927 に答える