{ xtype:"button", text:"添加", anchor:'60%', handler:function(){ var win = this.ownerCt.ownerCt.ownerCt; alert(win.title+""+win.xtype); var job = win.findByType("combo")[1]; alert(job.fieldLabel); Ext.Msg.prompt("请输入职位的名称","职位名称",function(btn,value){ //fn参数的含义是;1、可以得到用户点击的是ok还是cancel,value获得用户输入的值 if(btn=="ok"){ var tempstore = job.store; tempstore.insert(0,new JOB({ job:value })); this.setValue(value); } },job); } } |
var JOB = Ext.data.Record.create([{ name:"job" }]); |
方法:
- 在添加按钮处 添加一个handler的处理;
- 需要获得该window,
- this.ownerCt.ownerCt.ownerCt来获得win的对象通过该对象,可以获得combo对象,
- 得到该对象的store,
- 调用store当中insert方法,第一个参数是表示插入的位置,第二个参数表示的record的模板,
- JOB定义在window创建时的一个全局变量
知识点:
如何获得prompt当中用户输入的值,和点击了那个按钮?
Ext.Msg.prompt参数:第一个参数表示prompt的title,第二个表示提示信息,第三个是用户输入的值,第四个是scope表示句柄,表示那个
对象,该对象可以的作用于是()之间,可以通过该scope来获得对象,案例当中的job是combo职位这个组件,可以通过job获得该组件的
一些属性信息
如何获得对象的类型?
通过对象.xtype方法可以获得其类型
如何定义一个Record对象?
通过Ext.data.Record.create(name:"value")来定义一个Record