DockedItems未在预览中显示

时间:2012-03-01 04:28:54

标签: toolbar sencha-touch-2 formpanel

知道停靠项目未在预览中显示的原因吗?这是代码。

Ext.setup({
    onReady:function(){
        var top_toolbar= [{
            xtype:'toolbar',
            ui:'dark',
            dock:'top',
            title:'Login Form'
        }]
        var loginForm = new Ext.form.FormPanel({
            items:[{
                xtype:'fieldset',
                items:[{
                    xtype:'textfield',
                    label:'Username',
                    name:'u_name',
                    labelWidth:100
                },{
                    xtype:'passwordfield',
                    label:'Password',
                    name:'u_password',
                    labelWidth:100
                }]
            }]
        });
        var formPanel=new Ext.Panel({
            fullscreen:'true',
            layout:'fit',
            dockedItems:top_toolbar,
            items:[loginForm]
        });
    }
});

我只是想创建一个登录页面,其中包含用户名和密码的文本字段,并且需要包含停靠在顶部的工具栏,其标题为“登录表单”。在预览中,我得到带有标签的文本字段,但它没有显示工具栏。我对代码做错了吗?

任何帮助将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:1)

Sencha Touch 2中已弃用dockedItems配置。如果您使用的框架版本不包含兼容层,则该配置将无效。

相反,将所有项目(包括停靠项目)放在items数组中。

其他一些说明:

  • dock已更改为docked
  • Ext.form.FormPanel已更改为Ext.form.Panel
  • 您应该使用Ext.create()代替new关键字。这意味着您可以利用Ext.Loader和依赖关系管理。您可以在此处找到有关它的更多信息:http://docs.sencha.com/touch/2-0/#!/guide/class_system

最后,如果您实现所有这些更改,以下是您的代码的外观:

Ext.setup({
    onReady:function(){
        var loginForm = Ext.create('Ext.form.Panel', {
            items: [
                {
                    xtype: 'fieldset',
                    items: [
                        {
                            xtype: 'textfield',
                            label: 'Username',
                            name: 'u_name',
                            labelWidth: 100
                        },
                        {
                            xtype: 'passwordfield',
                            label: 'Password',
                            name: 'u_password',
                            labelWidth: 100
                        }
                    ]
                }
            ]
        });

        var formPanel = Ext.create('Ext.Panel', {
            fullscreen:'true',
            layout:'fit',
            items: [
                {
                    xtype: 'toolbar',
                    ui: 'dark',
                    docked: 'top',
                    title: 'Login Form'
                },
                loginForm
            ]
        });
    }
});

希望这有帮助。