在sencha cmd build之后,textfields崩溃了

时间:2014-12-15 03:08:26

标签: extjs sencha-cmd

我使用最新的sencha cmd进行构建,使用ext-5.0.1。 在开发状态(http://www.imageupload.co.uk/5Med)期间,但是在构建之后,Everythings看起来很好。 所有文本字段都如图所示折叠(http://www.imageupload.co.uk/5MeQ),并且对宽度,minWidth,flex等的更改没有响应。 并且属性y和x也不起作用。

如果有人之前有类似的情况,请帮助,thx

我的cmd是v5.0.3.324

以下是我的代码的一部分:

在我的Main.js中:

Ext.define('ExtTest2.view.main.Main', {
    extend: 'Ext.container.Container',
    requires: [
        'ExtTest2.view.main.MainController',
        'ExtTest2.view.main.MainModel'
    ],

    xtype: 'app-main',

    controller: 'main',
    viewModel: {
        type: 'main'
    },

    layout: {
        type: 'fit'
    },

    itemId:'Stage'
});

MainController.js:

Ext.define('ExtTest2.view.main.MainController', {
    extend: 'Ext.app.ViewController',

    requires: [
    ],

    alias: 'controller.main',

    init: function(){
        this.Start();
    },

    Start: function(){
        var data = {
          itemId: "Page_Login",
          xtype: "panel",
          items: [
            {
               padding: 30,
               layout:{
                 type: 'vbox',
                 align: 'center'
               },
               xtype: "fieldset",
               y: "30%",
               height: 150,
               items: [
                 {
                    xtype: "textfield",
                    itemId: "Textfield_Username",
                    fieldLabel: "用戶名稱",
                    labelStyle: "color:#FFFFFF"
                 },
                 {
                    fieldLabel: "密碼",
                    itemId: "Textfield_Password",
                    labelStyle: "color:#FFFFFF",
                    xtype: "textfield"
                 },
                 {
                    itemId: "Button_Login",
                    text: "登入",
                    width: 100,
                    xtype: "button"
                 }
               ]
            }
          ] 
        };
        var container = Ext.ComponentQuery.query('#Stage')[0];
        container.removeAll();
        container.add(data);
        container.updateLayout();
    }
});

1 个答案:

答案 0 :(得分:1)

  1. 由于您向包含字段的app-main添加了不必要的容器,因此它已被过度使用。
  2. 从视图控制器中操纵视图是非常不寻常的 - 为字段集创建一个类,给它一个别名(xtype)并简单地实例化它。填充控制器处理程序以及视图定义必然会导致Spaghetti Code
  3. 您使用vbox布局,没有任何弹性或高度来保存表单域。表单字段在锚点布局中表现最佳,这是Ext.form.Panel的默认设置。