1

我刚刚开始深入研究 Ext JS 4.0 和新的 MVC 架构。我创建了一个用户控制器,其中包含多个网格和树视图及其相应的存储。到目前为止,一切都很好。

我刚刚创建了我的第一个表单,我正在努力使用新的加载程序配置。表单已呈现,并且 Ajax 调用成功,但未填充表单。

/*
 */
Ext.define('CORE.view.user.Form' ,{
   extend: 'Ext.form.Panel'
  ,alias : 'widget.userform'
  ,frame: true

  /*
   */
  ,initComponent: function() {

      Ext.apply(this, {
         title: 'User Form'
        ,height: 175
        ,items: [{
            xtype: 'textfield'
           ,fieldLabel: 'Name'
           ,name: 'name'
         },{
            xtype: 'textfield'
           ,fieldLabel: 'Email'
           ,name: 'email'
         }]

        ,loader: {
            url: 'data/usersform.json'
           ,autoLoad: true
           ,renderer: 'component'
           ,params: {
               email: 'email'
            }
         }
      });

      this.callParent(arguments);
   }
});

我目前使用的 JSON 如下所示:

{
    "success":true,
    "data":[{
            "name":"Ed",
            "email":"ed@sencha.com"
        }
    ]
}

我已经弄乱了所有渲染器选项并尝试使用目标。考虑到渲染器、目标和 JSON 格式的可能组合,我感到非常困惑。

我很可能在杂草中走开......有人让这个工作吗?我很难找到这样的例子。

4

3 回答 3

1

删除 JSON 中的[and ]

于 2011-06-17T06:16:56.900 回答
0

我不确定您的加载程序是否正在加载记录 - 可能需要指定 root:。在所有工作示例中,我发现您只是没有在表单上使用加载器,而是在模型上指定了商店、模型和代理。表单本身的加载器意味着您并没有真正使用 MVC。

查看这个 MVC 的工作示例.... https://github.com/lucassus/extjs4-account-manager/tree/master/public - 他正在使用没有加载程序的 ext-debug ....I'我不得不在我的 app.js 中使用 ext-debug-all-w-comments 和加载器来让事情正常进行。

但是按照他在 app.js 中的例子,然后看看他的控制器和视图是如何与 store/model/proxy 一起使用的

于 2011-06-12T15:42:03.797 回答
0

我意识到这是一个老问题,但查看文档您使用了错误的渲染器类型。它应该是“数据”而不是“组件”,因为您返回的是数据而不是 Ext 组件配置。

于 2012-04-04T10:22:52.120 回答