0

sencha touch 1.1 のフォームに検索フィールドを追加しようとしていますが、sencha touch が提供する例を調べた後、検索フィールドに動的ストアを提供する方法を見つけることができませんでした。データを動的にフェッチするストアがあります。ストアには場所のリストが含まれており、ユーザーが場所の最初の文字を入力すると、そのアルファベットから始まる場所のリストが表示されます。使用したコードは次のとおりです。

var searchField = new Ext.form.Search({
        name : 'search',
        placeHolder: 'Search',
        useClearIcon: true,
        data:siteStore,
        autoComplete:true,


    });


inputDataForm = Ext.extend(Ext.Panel, {
    scroll: 'vertical',
    autoDestroy: true,
    layout: 'fit',
    id:'inputForm',


   initComponent: function() {



    this.items = [{
                    xtype: 'form',
                    cls: 'formClass',
                    id:'inputImageForm',                        
                    bodyPadding: '0',
                    scroll: 'vertical',


                    items: [searchField],
                  }];       

    inputDataForm.superclass.initComponent.call(this);  

   }, // End fo initComponent   

});

誰か助けてください。ありがとうございました

4

1 に答える 1

0

これは私のコードです。正常に動作しており、検索フィールドをパネルにドッキングしました。
あなたはこれを使うことができます、そして私はそれがうまくいくと確信しています.

,   dockedItems: [{
                xtype:'searchfield'
            ,   name: "searchfield"
            ,   placeHolder: 'Search Patient'
            ,   id: 'searchPat'
            ,   listeners: {
                    keyup: function(me,e){
                        var searchData = me.getValue();
                        Ext.Ajax.request({
                            url:'your data url'
                        ,   params:{
                                filter: searchData
                            }
                        ,   scope: this
                        ,   success: function(res){
                                var rec = Ext.decode(res.responseText);
                                var def = typeof (rec.success);
                                if(def != "undefined" ){
                                    this.store.removeAll();
                                    this.store.loadData(rec.patients);
                                }
                            }
                        ,   failure:function(res){
                                console.log(res);
                            }   
                        })
                    }
                ,   scope: this
                }
于 2012-08-28T07:35:27.440 に答える