1

選択リスナーは 1 回だけ発火します。2 回目のクリックで、発火のプロパティが返され、false が追加されます。どうすればこれを防ぐことができますか?

ここに例があります: http://supraliminalsolutions.com/pages/example-apps/campusBuildings/

        xtype: 'combo',
        store: ds,
        displayField: 'title',
        typeAhead: false,
        hideLabel: true,
        hideTrigger:true,
        anchor: '100%',
        minChars: 1,
        listConfig: {
            loadingText: 'Searching...',
            emptyText: 'No matching buildings found.',

            // Custom rendering template for each item
            getInnerTpl: function() {
                return '<div class="search-item">{name}</div>';
            }
        },
        pageSize: 10,

        // override default onSelect to do redirect
        listeners: {
            'select': function(combo, selection) {
                console.log('you there?');
                var building = selection[0];
                if (building) {

                    retrieveBuildingInfo(Ext.String.format(env_url + 'building.php?id={0}', building.get('id')));
                }
            },
                    'expand': function() {
                        Ext.Msg.alert("test","do you see me");// this alert never show, when the combo expanded
                        console.log(this.events.select);
                    }
        }
4

1 に答える 1

0

イベント処理ロジックが次のように実行された後、フォームをリセットするだけです。

            'select': function(combo, selection) {
                console.log('you there?');
                var building = selection[0];
                if (building) {

                    retrieveBuildingInfo(Ext.String.format(env_url + 'building.php?id={0}', building.get('id')));
                }
                this.reset();
            },

それが最善の方法かどうかはわかりませんが、うまくいきます

于 2013-09-01T00:42:07.363 に答える