首页 > 代码库 > ExtJs4学习(十四)Form 加载/更新Record(Model)
ExtJs4学习(十四)Form 加载/更新Record(Model)
什么是Record呢?Record是数据模型对象中的一条记录,所以在使用Record之前,我们需要先定义Model。
Model定义
关于Model的定义,我们单独进行演示,今天只是简单的用到,Model代码如下:
Ext.define("UserModel", { extend: ‘Ext.data.Model‘, fields: ["UserName", "Email"] });
定义好Model之后,我们可以创建一条记录:
var userRecord = Ext.create("UserModel", { UserName: "Qi Fei", Email: "youring2@gmail.com" });
Form加载Record
Form组件提供了loadRecord()方法来加载Record对象。
var formCmp = this.up("form"); formCmp.loadRecord(userRecord);
Form更新Record
当我们对Form中数据进行编辑之后,希望将更改后的结果反映到Record中,这时我们就需要使用updateRecord()方法了,使用updateRecord方法的前提是,我们的Form已经调用loadRecord方法绑定了Record数据。
var formCmp = this.up("form"); formCmp.updateRecord(); console.log(userRecord);
移除Form绑定的Record
Form绑定Record以后,如果我们需要基础绑定,可以使用Reset方法,传入参数true,此时Form界面和绑定的Record都会被清除。
var formCmp = this.up("form"); formCmp.getForm().reset(true);
在线示例
整个演示的完整代码如下:
Ext.onReady(function () { Ext.define("UserModel", { extend: ‘Ext.data.Model‘, fields: ["UserName", "Email"] }); var userRecord = Ext.create("UserModel", { UserName: "Qi Fei", Email: "youring2@gmail.com" }); Ext.create("Ext.form.FormPanel", { title: "ExtJS Form加载/更新Record", width: 350, height: 300, x: 30, y: 30, layout: "form", bodyPadding: "5", defaultType: "textfield", fieldDefaults: { labelAlign: "right", labelWidth: 55 }, items: [ { name: "UserName", fieldLabel: "用户名", allowBlank: false }, { name: "Email", fieldLabel: "电子邮箱" } ], buttons: [ { text: "加载Record", handler: function () { var formCmp = this.up("form"); formCmp.loadRecord(userRecord); } }, { text: "更新Record", handler: function () { var formCmp = this.up("form"); formCmp.updateRecord(); console.log(userRecord); } }, { text: "重置", handler: function () { var formCmp = this.up("form"); formCmp.getForm().reset(true); } } ], renderTo: "container" }); });
点击查看在线演示
ExtJs4学习(十四)Form 加载/更新Record(Model)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。