插入sencha touch数据存储

Mar*_*nde 1 extjs sencha-touch

有人可以解释插件如何工作以在数据存储区中添加记录:"title","info"和"price"?因为我尝试了一些东西,但没有一个能奏效.并且sencha网站没有说清楚.

YDL*_*YDL 9

将新项目添加到现有商店实际上并不难.

首先,您需要配置模型和商店.在您的问题中,您可以将字段命名为"标题","信息"和"价格".

模型:

Ext.regModel('myModel', { 
    fields: [
        {name: 'id', type: 'int' },
        {name: 'title', type: 'string' },
        {name: 'info', type: 'string' },
        {name: 'price', type: 'int' }           
    ]
});
Run Code Online (Sandbox Code Playgroud)

接下来,根据上述模型配置将保存数据的存储.我认为,在你的情况下,它应该是一个没有任何数据预加载的模型,例如,JSON?

所以让我们做一个localstorage(空店).商店由模型(myModel)组成,您为其提供storeID(以便稍后可以通过此ID引用商店).代理是localstorage,Store的唯一ID将是Model的ID字段.

商店:

    var myStore = new Ext.data.Store({ 

        model: "myModel",
        storeId: "myStoreID",
        proxy: {
            type: "localstorage",
            id: "id"            
        }
    });
Run Code Online (Sandbox Code Playgroud)

现在,假设您有某种形式(用户可以在其中添加标题,信息和价格的输入,并且您希望在提交时将这些项目添加到现有商店.

在提交按钮的处理程序中,您现在必须"调用"商店,并在其上执行添加功能.在此添加功能中,您必须定义参数(模型参数)和要插入的数据.

下面我使用了固定数据和变量的混合来插入.

myStoreID.add({ title: "Mijn Titel", info: "Informatie, price: prijsvar });
Run Code Online (Sandbox Code Playgroud)

现在,商店将被填充,您将可以使用额外的数据记录.让我们说例如商店附加到数据视图,然后您可以执行:

dataView.update();
Run Code Online (Sandbox Code Playgroud)

以上不是完整的教程,但我认为这会对你有帮助吗?