0

重要: これはバージョン 2.0 で機能し、2.1.1 では機能しません。

私のアプリには、下部に2つの異なるタブがあります(近く、検索)。この両方のタブは、以下に示す同じリストを使用します。また、NearBy と Search はどちらもカード レイアウトを使用します。唯一の違いは、NearBy ではリストが最初のカードにあり、Search ではリストが 2 番目のカードにあることです。

私はこれを過去2日間試していますが、進歩はありません。私を助けてください

Ext.define('ChurchLookup.view.ChurchList', {
extend: 'Ext.List',
xtype: 'churchlist',


config:
{
    title: 'Zip Code',
    cls: 'x-contacts',
    grouped: true,
    store: 'Churches',
    itemTpl:
    [
        '<div class="headshot" style="background-image:url(resources/images/church-type-logo/{icon}.png);"></div>',
        '{name}, {city}',
        '<span>{phone} / {email}</span>'
    ].join('')
}});

タブがクリックされたときに近くにある場合、リストはタブパネル内に表示されます。これは完全に機能しており、リストを見ることができます。

近くのカードコード

Ext.define('ChurchLookup.view.NearBy',
{
    extend: 'Ext.Panel',
    xtype: 'nearbycard',
    config:
    {
        iconCls: 'locate',
        title: 'Near By',
        scrollable: 'vertical',
        layout:
        {
              type: 'card',
              animation:
            {
                type: 'pop',
                duration: 500,
            }
        },
        items:
        [
            {
                docked: 'top',
                xtype: 'titlebar',
                title: 'Near by Churches',
                items:
                [
                    {
                        itemId: 'btnBackNearBy',
                        text: "Back",
                        ui: "back",
                        hidden: true,
                        action:  'onBackNearBy'
                    }/*,
                    {
                        itemId: 'btnHomeSettings',
                        iconMask:true,
                        iconCls: 'settings',
                        ui:      'border',
                        align:   'right',
                        action:  'pingHomeBadge'
                    }*/
                ]
            },
            {
                xtype: 'churchlist'
            },
            {
                xtype: 'churchdetailsnearby'
            }
        ],
        listeners:
        [
            {
                delegate: "#btnHomeSettings",
                event: "tap",
                fn: "onHomeScreenSettings"
            },
            {
                delegate: "#btnBackNearBy",
                event: "tap",
                fn: "onBackNearBy"
            }
        ]
    },
    onHomeScreenSettings: function ()
    {
        this.fireEvent("homeScreenSettings", this);
    },
    onBackNearBy: function ()
    {
        this.fireEvent("onBackNearBy", this);
    }
});

ただし、[検索] タブをクリックすると、2 つのカードを含むカード レイアウトが表示されます。最初のカードは検索フォームで、2 番目のカードはリストです。ユーザーがフォームに入力して検索ボタンをクリックすると、ストアが読み込まれ、カード レイアウトが変更されてリストが表示されます。しかし、カード レイアウトは 2 ページ目を表示していますが、リストは表示していません。

検索タブコード

Ext.define('ChurchLookup.view.Search',
{
    extend: 'Ext.Panel',
    xtype: 'searchcard',
    config:
    {
        iconCls: 'search',
        title: 'Search',
          scrollable: 'vertical',
        layout:
        {
              type: 'card',
              animation:
            {
                type: 'pop',
                duration: 500,
            }
        },
        items:
        [
            {
                docked: 'top',
                xtype: 'titlebar',
                title: 'Search Church',
                items:
                [
                    {
                        itemId: 'btnBackSearch',
                        text: "Back",
                        ui: "back",
                        hidden: true,
                        action:  'onBackSearch'
                    }/*,
                    {
                        itemId: 'btnHomeSettings',
                        iconMask:true,
                        iconCls: 'settings',
                        ui:      'border',
                        align:   'right',
                        action:  'pingHomeBadge'
                    }*/
                ]
            },
            {
                xtype: 'searchform'
            },
            {
                xtype: 'favouritecard'
            },
            {
                xtype: 'churchdetailssearch'
            }
        ],
        listeners:
        [
            {
                delegate: "#btnHomeSettings",
                event: "tap",
                fn: "onHomeScreenSettings"
            },
            {
                delegate: "#btnBackSearch",
                event: "tap",
                fn: "onBackSearch"
            }
        ]
    },
    onHomeScreenSettings: function ()
    {
        this.fireEvent("homeScreenSettings", this);
    },
    onBackSearch: function ()
    {
        this.fireEvent("onBackSearch", this);
    }
});
4

1 に答える 1

0

身長の問題かも。

「churchdetailssearch」は「churchlist」と同じですか?

Churchdetailssearch にツールバーなどがある場合は、layout :'vbox' を 'churchdetailssearch' に設定し、'churchdetailssearch' のリストを flex : 1 に追加します。

ページが役立つかもしれません。 スクロール可能なリストで、高さを固定せずに動的な高さを使用する方法を説明する

于 2013-03-08T04:51:51.710 に答える