0

我正在尝试使用 sencha touch 编写可编辑列表,

我看到了很多例子,但没有一个不能正常工作,所以我决定从头开始构建,

我有一个包含项目的列表,在项目上点击我的控制器运行下一个代码

        showDetail: function (list, record) {

    this.getMain().push({
        xtype: 'vedit',
        title: record.fullDetails(),
        data: record.getData()
    });

我的“vEdit”屏幕是一个应该显示当前点击的项目数据的表单

这是编辑表单的代码:

var form = Ext.define('TM.view.vEdit', {

extend: 'Ext.form.Panel',
xtype: 'vedit',

config: {
    title: 'Edit task',
    styleHtmlContent: true,
    scrollable: 'vertical',

    items: [
       {
           xtype: 'textfield',
           name: 'title',
           label: ''
       },
       {
           xtype: 'textfield',
           name: 'desc',
           label: ''
       }
    ]
}

});

我尝试使用以下代码加载数据:

var ed = Ext.create('TM.model.mTasks', {
title: 'Ed',
desc: 'ed@sencha.com'

});

form.setRecord(ed);

并得到下一个错误:

Uncaught TypeError: Object function () {
                return this.constructor.apply(this, arguments);
            } has no method 'setRecord' 

需要你的帮助,

谢谢!

4

2 回答 2

0
var form = Ext.define('TM.view.vEdit', {

伙计,您需要创建新的 form(),因为它只是一个类型定义。

于 2012-12-31T06:35:23.087 回答
0

由于您没有在表单的配置中定义一个名为记录的字段,因此您不会获得 setRecord() 方法。

要传递数据,您可以尝试这样做:

form.config.record = ed;

在视图的初始化函数中,你可以得到它:

var taskData = this.config.record;
于 2012-12-30T16:06:07.230 回答