0

煎茶タッチで編集可能なリストを書こうとしているのですが、

たくさんの例を見ましたが、何もうまくいかなかったので、ゼロから構築することにしました。

アイテムのリストがあり、アイテムタップでコントローラーが次のコードを実行します

        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

フォームの config で record という名前のフィールドを定義していないため、setRecord() メソッドを取得できません。

データを渡すには、次のようにしてみてください。

form.config.record = ed;

ビューの初期化関数では、次のように取得できます。

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