Sencha Touch,如何将数据从列表传递到表单?

时间:2012-12-29 21:58:46

标签: sencha-touch

我正在尝试使用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' 

需要你的帮助,

谢谢!

2 个答案:

答案 0 :(得分:0)

由于你没有在form的配置中定义一个名为record的字段,所以你不会得到setRecord()方法。

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

form.config.record = ed;

并且在初始化视图功能中你可以得到它:

var taskData = this.config.record;

答案 1 :(得分:0)

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

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