0

Ext-JS 4 でアプリケーションを作成しています。

カード:

1.) ログインカード

2.) 応募カード

申請書はボーダーレイアウトです。

それらを個別に表示すると機能しますが、ビューポートに一緒に配置すると機能しません。

ここに私のビューポートがあります:

Ext.define('MyApp.view.Viewport', {
    extend: 'Ext.container.Viewport',
    layout: 'card',

    items: [
        {
            xtype: 'loginform',
        },
        {
            xtype: 'mainapp'
        }
    ]
});

これが私のログインカードの一部です:

Ext.define('Sabrina.view.login.Form' ,{
    extend: 'Ext.form.FormPanel',
    alias : 'widget.loginform',

    name: 'loginform',
    frame: true,
    title: 'Login',
    bodyPadding: '5px 5px 0',
    width: 350,
    ...

これが私のアプリケーションカードの一部です:

Ext.define('Sabrina.view.Main', {
    extend: 'Ext.panel.Panel',
    alias: ['widget.mainapp'],
    layout: 'border',
        items: [
          //here I have 'west' and 'center' regions
        ]

別のアプリケーションで同じコンポーネントを個別に作成しましたが、動作しますが、ここでは動作しません。カードレイアウト内にボーダーレイアウトが必要な場合は、さらに何かを配置する必要がありますか?

私はこれを得ています:

Uncaught TypeError: Cannot call method 'substring' of undefined

ありがとうございました。:)

4

2 に答える 2

3

viewport は 1 つの要素しか処理できませんが、cardlayout は 1 つのアクティブな要素だけで多数を管理します。ビューポートの唯一の要素を cardlayout のコンテナーにし、ビューポートに fitlayout を与えます。これは機能するはずです。

あなたのエラーは不明な xtypes のように聞こえます。とにかく、記述されたレイアウトを試してみてください。エラーがなくなった可能性があります。

于 2012-09-24T05:03:55.867 に答える
1

ログインウィンドウをモーダルで表示してみませんか? ログインだけにカードレイアウトを使用すると、実際のアプリはやり過ぎだと思います。

于 2012-09-24T14:37:11.787 に答える